你好,能咨詢一個問題,我使用Bison時,非終極符在執行一個語意規則后,歸約到下一個語意規則時,此非終極符的屬性值自己發生了變化,請問這是什么原因?
代碼出現的問題是:列印時出現了死回圈,即鏈表成了:“Term”-> "Term" ->"Term" -> ... 這樣的回環。
下面是部分代碼:
Factor : Term { Print($1); /*遞回列印此鏈表*/ }
;
Term : INT {
$1.name = "INT"; $1.child = NULL /*初始化終結符 INT 節點*/
$$.name = "Term"; $$.child = &$1; /*INT 節點作為 Term子節點插入鏈表*/
Print($$); /*此時列印,就很正常*/
}
;
資料型別:struct P{ char *name; struct P *child; }
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/24287.html
標籤:非技術區
下一篇:各種windows10下的快捷鍵
