1、编译原理实验报告表达式语法分析设计实验专业班级:姓 名 :学 号: 1、实验题目表达式语法分析设计二、实验目的通过本实验,了解递归下降预测分析的原理和过程以及可能存在的回溯问题,探讨解决方法,为预测分析表方法的学习奠定基础。分析递归下降子程序的优缺点。熟悉并设计一个表达式的语法分析器3、实验内容1.文法转换已知算数表达式文法 G(E):ET|E+T|E-T;TF|T*F|T/F;Fi|(E);由于 G(E)不是 LL(1)文法,因此要将此文法转换为 LL(1)文法。转换后 G(E)为(其中 (+,-),(*,/):ETEE TE|TFTTFT|Fi|(E)4、概要设计主程序 Z: 子程序 E:
2、 子程序 E: NEXT(W)y NEXT(W) 遇n 时y errory 开始EE#?结束入口 u T出口 u 入口 u ?TE出口 u 子程序 T: 子程序 T: 子程序 F: yn ny yNEXT(W) NEXT(W) errornyNEXT(W) error入口 u i? (?)?E出口 5、源程序( 包含注释 )#include#include#include#includechar a100;int lookahead=0;void E1();void T();void T1();void F();void E()coutTE“+TE“-TE“FT“*FT“/FT“=acout“程序结束!“endl;return 0;六、测试数据及运行结果1、实验测试数据及结果(共五组)第一组:a+b*c;第二组:A+(z+2) ;第三组:a+(b-c;第四组:(i-c)/d;第五组:5+6;