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

parsing and semantic analysis using CUP - Access parser stack

我的语法规则如下

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

;

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

;

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

重写语法:

A  -> A1 E
A1 -> B C D 

如果第一次生产的动作需要BC,那么A1的语义值就必须更复杂才能传递语义值通过.