使用CUP进行解析和语义分析 - 访问解析器堆栈

时间:2018-04-23 22:06:18

标签: parsing cup

我的语法中有一条规则,例如

A -> B C D E    {: ...some actions... :}

D -> /*empty*/    {: some actions using attributes of B and C :}

要实现与D的生产规则相关的操作,我需要访问解析器堆栈。我怎么能在CUP中做到这一点?

1 个答案:

答案 0 :(得分:0)

重写你的语法:

A  -> A1 E
A1 -> B C D 

如果第一次制作的动作也需要BC,则A1的语义值必须更复杂才能传递语义值。