去年做的编译原理作业,由于时间紧迫,没有完成语法分析与语义分析,但拥有比较完善的界面(界面有两个,在主程序中可以修改使用哪个界面)。 词法规则如下: 关键字:int char if else real for do while 数字、变量名(不使用下划线,头字母不为数字)、符号 词法分析生成*.TAKEN、*.SymbolTable两个文件。 保留部分语法分析接口,可以继续完成。 词法分析部分在Lex文件夹下,生成中间数据存储的类在Data下。 由于老师给的语法分析规则太复杂(老师给的还是错的
目的:充分理解语义分析的方法及相关语义计算的执行时机。 要求: 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.val := F.val F® (E) F.val := E