- 44
- 0
- 约7.22千字
- 约 17页
- 2016-10-03 发布于安徽
- 举报
DO-WHILE语句的翻译分析程序设计
———递归下降法、输出四元式
1问题描述
1.1问题描述
设计一个DO-WHILE循环语句的词法﹑语法及语义分析程序,语法分析选择递归下降法,采用用语法制导翻译输出中间代码四元式。
1.2主要任务
通过设计、编制、调试一个DO-WHILE循环语句的语法及语义分析程序,加深对语法及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。
首先写出一个能识别DO-WHILE循环语句的文法,通过消除左递归使它符合LL(1)即递归下降法的要求,然后按照这个文法编写一个集词法分析,语法分析和语义分析为一体的程序,该程序首先可以检查输入语句是否符合词法要求,若符合则继续识别输入的语句是否符合DO-WHILE语句的文法,若符合则进行语义分析,输出用四地址代码表示的中间代码。
1.3测试数据
编写好源代码后,进行调试,根据程序要求进输入一小段程序,进行词法、语法的分析,给出分析结果。
2文法及属性文法的描述
2.1文法的描述
用扩充巴科斯-瑙尔范式(EBNF)while循环语句的文法描述,如下:
while语句do (条件语句 while{ 赋值语句
条件语句 ::= 表达式条件运算符 表达式
条件运算符 ::= | | = | = | =
表达式 ::= 表达式 + 表达式2 | 表达式 - 表达式
原创力文档

文档评论(0)