词法语法分析程序设计与实现 【实验目的】 (1)理解词法...
词法语法分析程序设计与实现 【实验目的】 (1)理解词法分析、语法分析在编译程序中的作用 (2)加深对有穷自动机模型的理解 (3)掌握词法、语法分析程序的实现方法和技术 【实验内容】 对一个简单语言的子集编制一个一遍扫描的词法语法分析程序。 【实验要求】 (1)待分析的简单语言的词法 1) 关键字 begin end 2) 运算符和界符 := + - * / < <=> >= <> = ; () # 3) 其他单词是标识符(ID)和整形常数(NUM),通过以下正规式定义: ID=letter(letter|digit)* NUM=digitdigit* 4) 空格由空白、制表符和换行符组成。空格一般用来分隔ID、NUM、运算符、界符和关键字,词法分析阶段通常被忽略。 (2)各种单词符号对应的种别编码 单词符号 种别码 单词符号 种别码 begin 1 ; 17 end 2 = 18 < 19 letter(letter|digit)* 10 <> 20 digitdigit* 11 <= 21> 22 + 13 >= 23 - 14 (24 * 15 ) 25 / 16 # 0 (3)完成赋值语句的词法、语法分析,语法分析程序采用递归下降分析程序的实现。 (4)词法、语法分析程序的输入和输出 输入:所给文法的源程序字符串 输出:(1)词法分析阶段的输出二元组序列;(2)语法分析阶段的输出:分析是否成功的说明。 (5)程序设计前需定义词法分析和语法分析所使用的正规文法和上下文无关文法。 【实验提交要求】 (1)实验报告(实验报告模板见附件) (2)程序源码及实现结果截图