一、实验目的
通过定义语言的上下文无关文法、为适应递归下降分析改造文法,牢固掌握自顶向下语法分析理论;设计语法单位符号的递归下降子程序,设计词法分析器与语法分析器接口,完成语法分析器的代码编写和测试,能够熟练掌握递归下降分析的实现方法,掌握处理算术表达式语法结构的编程技巧,最终获得较强的复杂软件开发能力。
通过设计语义动作函数,并集成到递归下降语法分析器;设计语义解释器主程序,完成语义解释器的代码编写和测试,能够掌握语义解释的基础理论,掌握语义动作与语法分析器的集成方法,最终获得复杂软件系统的设计和实现能力。
二、实验内容
(1)实现语义动作函数;
(2)改造你在实验二中实现的递归下降分析器,集成语义动作代码;
(3)实现语义解释器主程序(使用GUI程序,展示绘图结果);
(4)构造测试文件,调试语义解释器。
三、实验过程
1)给出程序处理流程图;
图1 程序流程图
2)给出程序模块结构图;
图2 模块结构体
3)给出程序调试运行结果。
图3 语义翻译结果