目的:充分理解语义分析的方法及相关语义计算的执行时机。
要求:
1.以S属性的语法制导定义为基础,将下表的语义规则嵌套在语法分析的过程中,即实现语法制导的翻译过程。
产 生 式 语 义 规 则
L E n print (E.val)
E E1 + T E.val := E1 .val + T.val
E T E.val := T.val
T T1 * F T.val := T1.val * F.val
T F T
目的:熟练掌握自下而上的语法分析方法,并能用程序实现。
要求:
1. 使用如下文法:
E E+T | T
T T*F | F
F (E) | id
2. 对于任意给定的输入串(词法记号流)进行语法分析,要求采用LR分析器来完成。手工构造LR分析表,利用移进-归约分析算法(P71 图3.12)输出(P72 表3.8)对应的动作部分。如:
输入:id*+id/(id+id)#
输出:移进
按 F->id归约
移进
error