我的语法中有一条规则,例如
A -> B C D E {: ...some actions... :}
D -> /*empty*/ {: some actions using attributes of B and C :}
要实现与D的生产规则相关的操作,我需要访问解析器堆栈。我怎么能在CUP中做到这一点?
答案 0 :(得分:0)
重写你的语法:
A -> A1 E
A1 -> B C D
如果第一次制作的动作也需要B
和C
,则A1
的语义值必须更复杂才能传递语义值。