资源描述
编译原理,上机实验,词法分析程序-扫描器设计(4学时)语法分析程序-语法分析器设计(4学时)语法语义分析产生中间代码的程序设计(6学时),内容要求问题,编译原理上机实验,实验用系统:C、或C+、或VC实验从第8周开始,14周结束,7次14学时三个实验:词法分析程序的设计4学时语法分析程序的设计4学时语法语义分析产生中间代码的程序6学时阅读:教材的有关部分3.7节,4.3.2节,5.3节,6.7节,7.4节,7.5节附录A编译原理实践部分:实验一、三、四、五两人一组,实验1:词法分析程序的设计(4学时),实验目的:学习词法分析程序的设计和实现方法实验内容和步骤:按实验一的要求编写调试一个小型语言的词法分析程序输入源程序输出单词符号的内部表示(类别编码,自身值)实验准备:阅读资料、编写词法分析程序P53.从化简后的DFA到程序的编写P66.3.7节:词法分析程序的C程序实现P280.附录A之实验一词法分析程序(一)按组检查,提问,实验1:词法分析程序的实现问题,1.你所设计的词法分析器的功能?输入?输出?2.你怎么定义程序语言的单词符号的?3.你定义的单词符号的内部表示是什么?4.标识符和名字的区别?你定义的标识符的自身值怎么表示的?常量的自身值怎么表示的?5.词法分析程序的结构?会分析输出的结果。6.词法分析程序是如何识别标识符、保留字、整常量和运算符的?7.解释程序中几个函数和数据结构的意义。8.考虑扩充:若源程序可以有注释“/*/”,那么在程序中如何对注释进行过滤处理?,实验2:语法分析程序的设计(4学时),实验目的:学习语法分析程序的设计和实现方法实验内容和步骤:实验三(预测分析法)或实验四(算符优先分析法)选作一个按实验三或实验四的要求编写程序按实验三或实验四的要求输入和输出实验准备:阅读资料、编写语法分析程序P88.4.3.2小节以及附录A之实验三P105.5.3节以及附录A之实验四按组检查,提问,实验2:语法分析程序的实现问题,1.你用的什么语法分析方法?2.验证语法分析程序使用的输入是什么?3.预测分析表的结构?检查制作的预测分析表。4.预测分析表的程序实现(数据结构)?5.算符优先分析表的结构?检查制作的优先表。6.算符优先分析表的程序实现(数据结构)?7.检查程序的实现,检查程序的输出。8.解释程序的几个函数。9.解释程序的几个数据结构。,实验3:语法语义分析程序的设计(6学时),实验目的:学习SLR(1)语法分析方法,学习语义分析产生中间代码(四元式)的方法实验内容和步骤:按实验五的要求编写、调试程序按实验五的要求输入和输出读懂实验五的程序,会分析输出的结果实验准备:阅读资料、编写语法语义分析程序P161.6.7节以及附录A之实验五P177.7.4和7.5节:表达式、赋值语句、控制语句的翻译,翻译为四元式按组检查,提问,实验3:语法语义分析程序的实现问题,1.欲输入进行语法语义分析的源程序语句的结构?2.SLR(1)分析表的结构?检查制作的SLR分析表。3.SLR(1)分析表的程序实现(数据结构)?4.读懂并会分析输出的四元式程序。5.指出每条四元式的作用。6.解释语法分析过程中,输出的状态栈的变化情况,理解移进和归约。7.会手工翻译源程序语句为四元式序列。8.解释程序的几个函数;解释程序的几个数据结构。9.指出对各种语言成分的分析在程序的什么地方?,
展开阅读全文