tiger语法分析无意义
发布时间
阅读量:
阅读量
基于bison工具对tiger语言进行语法分析的实现,仅用于检测语法错误,不涉及语义处理。
shift/reduce 冲突:
依据教材提供的语法规则编写tiger.y文件后,出现了三种类型的shift/reduce冲突。
一、else悬空问题
exp : IF exp THEN exp .
| IF exp THEN exp . ELSE exp
可通过赋予else比then更高的优先级来消除该问题,但需注意其优先级不应超过运算符号的等级。
二、:=、. 、 of
exp: exp . PLUS exp
| exp . MINUS exp
....
| lvalue ASSIGN exp .
PLUS shift, and go to state 38
MINUS shift, and go to state 39
....
PLUS [reduce using rule 42 (exp)]
MINUS [reduce using rule 42 (exp)]
全部评论 (0)
还没有任何评论哟~
