0
假設我們有以下簡單的YACC語法:正確的順序左遞歸
start:
list
{
if ($1 != NULL) {
Reverse(&$1); /*correct order*/
}
Generate($1);
}
;
list:
list item
{
$$ = Node($2, $1);
}
|
{
$$ = NULL;
}
;
有沒有一種方法來構建的list
二進制抽象語法樹(仍在使用左遞歸),這樣的順序的元素不需要在start
中更正?什麼是手法?