编译原理语法分析实验心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编译原理语法分析实验心得
编译原理语法分析实验心得
我们在上个星期学习了编译原理这门课程,这是我第一次进行语法分析的实验,内容如下:一、实验内容1、输入:要求我们输入下面两句话:不同类型的代码段都要输入到编译器中。
2、目标:判断这两句话是否是同一个类型的代码段。
3、预测:编译器将会对这两个类型的代码段是否是同一个类型的代码段进行判断,若是,则执行它们;否则不执行它们。
二、实验结果根据教材的安排和自己的预测,这个实验分成三部分:输入、判断和预测。
(一)输入1、输入:我
们采用了如下格式:五个类型的代码段,代码有序,有包含关系。
每种代码段的长度为五个。
代码如下: 00101( 0100为01, 001为0)00301( 0101为01, 003为0) 00401( 0102为01, 004为0) 00501( 0103为01, 005为0)
通过前两节的实验我知道了连接与装配类型的区别,虽然很相似,但却是两个不同的类型。
前者表示的是代码片断之间的运算,而后者是代码组合,因此它们属于不同的类型。
我们将它们归纳起来便形成一个单词“代码片断”。
另外还要注意的是,相同类型的代码段需要
用不同的开始标志字符表示。
例如0101是代码片断的标志,而0100则是装配类型的标志。
2、输出:第一步是将代码段输出到屏幕上。
本实验设计了两种输出格式:输出格式为整数,数值范围在1~100,最小单位为一个字节;输出格式为文本,数值范围为1~9,最大单位为一个字符,输出的文本大小必须在一定范围内,如果超出范围,则
无法显示。
在本实验中,编译器首先检查输入是否满足以上条件,若满足则开始运行。
第二步是输出。
我们设计了三种输出方式:图像、图片和文字。
其中图像是利用Photoshop软件制作而成,比较清晰,且占用内存小,但是图像一般都比较大。
图片是利用microsoft公司自己开发的处理软件作图。
文字是用一个工具进行切割得到的,文字一般比较小,内存占用大。
这三种方式各有优缺点。
我们选择文字。
因为它的内存消耗最小。
(二)判断
通过实验可以发现,“连接”类型的代码段( 0111)与“装配”类型的代码段( 0100)是不同的。
因此,不同类型的代码段必须用不同的开始标志字符表示。