![]() |
1
5
你看过吗 the manual (搜索“解析树”以查找位置)?它建议将节点创建放在一个操作中,您的左、右后代分别为$1和$3,或者它们可能是什么。在这种情况下,yacc将代表您向树上移动,而不是手动操作。 |
![]() |
2
6
从郝的观点出发 the manual ,您要执行以下操作:
假设您的抽象语法树具有函数
此代码转换为“当用加号分析表达式时,取左、右后代”
$(来自手册):
|
![]() |
3
1
其他的答案提出修改语法,这是不可行的,当玩C++语法(几百条规则)。
幸运的是,我们可以通过重新定义调试宏来自动完成。
在这段代码中,我们正在重新定义
在flex lexer中的返回之前创建叶 |