San*_*les 1 compiler-construction ocaml menhir
我正在为一个赋值语言构建一个小编译器.
请考虑以下规则:
var_block : | LPAREN var_decl+ RPAREN { var_scope := var_scope + 1 };
首次识别var_block时是否触发语义操作,或者在达到生产结束时触发语义操作(在本例中为RPAREN)?
Dru*_*rup 7
你的问题正是你不应该这样做的原因.
不要做生产规则中对订单敏感的副作用.应使用Productions规则来构建代表您的程序的数据结构.完成后,您可以分析/执行/不管它.
归档时间:
8 年,9 月 前
查看次数:
84 次
最近记录: