0
假设我们有以下简单的YACC语法:正确的顺序左递归
start:
list
{
if ($1 != NULL) {
Reverse(&$1); /*correct order*/
}
Generate($1);
}
;
list:
list item
{
$$ = Node($2, $1);
}
|
{
$$ = NULL;
}
;
有没有一种方法来构建的list
二进制抽象语法树(仍在使用左递归),这样的顺序的元素不需要在start
中更正?什么是手法?