资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,*,编译原理,上机实验,词法分析程序,-,扫描器设计(,4,学时),语法分析程序,-,语法分析器设计(,4,学时),语法语义分析产生中间代码的程序设计(,6,学时),内容,要求,问题,编译原理上机实验,实验用系统,:C、,或,C+、,或,VC,实验从第,8,周开始,,14,周结束,,7,次1,4,学时,三个实验:,词法分析程序的设计,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.指出对各种语言成分的分析在程序的什么地方?,
展开阅读全文