使用 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
如果第一次生产的动作需要B
和C
,那么A1
的语义值就必须更复杂才能传递语义值通过.
我的语法规则如下
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
如果第一次生产的动作需要B
和C
,那么A1
的语义值就必须更复杂才能传递语义值通过.