编译原理上机实践之语法分析器

编译原理上机实践之语法分析器

ID:43242757

大小:255.50 KB

页数:29页

时间:2019-10-07

编译原理上机实践之语法分析器_第1页
编译原理上机实践之语法分析器_第2页
编译原理上机实践之语法分析器_第3页
编译原理上机实践之语法分析器_第4页
编译原理上机实践之语法分析器_第5页
资源描述:

《编译原理上机实践之语法分析器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、语法分析器《编译原理》上机作业(2)14.2语法分析器的构造语法分析器的任务:分析语言的结构为句子构造语法树;检查输入序列中的错误。主要工作:设计函数绘图语言的文法,使其适合递归下降分析;设计语法树的节点,用于存放表达式的语法树;设计递归下降子程序,分析句子并构造表达式的语法树;设计测试程序和测试用例,检验分析器是否正确。24.2.1函数绘图语言的文法<1>文法Program→ε

2、ProgramStatementSEMICOStatement→OriginStatment

3、ScaleStatment

4、RotStatment

5、ForStatmentOriginStatme

6、nt→ORIGINISL_BRACKETExpressionCOMMAExpressionR_BRACKETScaleStatment→SCALEISL_BRACKETExpressionCOMMAExpressionR_BRACKETRotStatment→ROTISExpression-------函数f(t)=t的图形originis(200,300);--设置原点的偏移量rotispi/6;--设置旋转角度scaleis(2,1);--设置横、纵坐标比例forTfrom0to200step1draw(t,0);--横坐标forTfrom0to180step1dr

7、aw(0,t);--纵坐标forTfrom0to150step1draw(t,t);--f(t)=t3Expression→ExpressionPLUSExpression

8、ExpressionMINUSExpression

9、ExpressionMULExpression

10、ExpressionDIVExpression

11、PLUSExpression

12、MINUSExpression

13、ExpressionPOWERExpression

14、CONST_ID

15、T

16、FUNCL_BRACKETExpressionR_BRACKET

17、L_BRACKETExpressionR_BRACK

18、ET<1>文法(续)ForStatment→FORTFROMExpressionTOExpressionSTEPExpressionDRAWL_BRACKETExpressionCOMMAExpressionR_BRACKET4<2>改写文法为无二义文法表达式中的运算结合性非终结符PLUS、MINUS(二元)左结合ExpressionMUL、DIV左结合TermPLUS、MINUS(一元)右结合FactorPOWER右结合Component(原子表达式)无AtomExpression→ExpressionPLUSExpression

19、ExpressionMINUSExp

20、ression

21、ExpressionMULExpression

22、ExpressionDIVExpression

23、PLUSExpression

24、MINUSExpression

25、ExpressionPOWERExpression

26、CONST_ID

27、T

28、FUNCL_BRACKETExpressionR_BRACKET

29、L_BRACKETExpressionR_BRACKET5Expression的改写Expression→ExpressionPLUSExpression

30、ExpressionMINUSExpression引入Term提高算符的优先级,保留左递归使得算符左结合:

31、Expression→ExpressionPLUSTerm

32、ExpressionMINUSTerm

33、TermTerm对应运算MUL和DIV,于是有:Term→TermMULTerm

34、TermDIVTerm反复改写,最终得到:Expression对应最低优先级的运算,PLUS和MINUS:6无二义的表达式文法ExpressionPLUS、MINUSTermMUL、DIVFactorPLUS、MINUSComponentPOWERAtom(原子表达式)Expression→ExpressionPLUSTerm

35、ExpressionMINUSTerm

36、TermTerm→Ter

37、mMULFactor

38、TermDIVFactor

39、FactorFactor→PLUSFactor

40、MINUSFactor

41、ComponentComponent→AtomPOWERComponent

42、AtomAtom→CONST_ID

43、T

44、FUNCL_BRACKETExpressionR_BRACKET

45、L_BRACKETExpressionR_BRACKET7<3>消除左递归和提取左因子消除program产生式的左递归Program→ProgramStatementSEMICO

46、εProgram→εProgram’Program’→Sta

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。