编译原理第二次试验

来源:互联网 发布:装饰公司取名软件 编辑:程序博客网 时间:2024/05/17 03:20

实验目的

写出算符优先分析器。理解自底向上的编译方法的运用。采用算符优先分析法对表达式进行分析,并给出四元式。

实验步骤

1.找出优先关系矩阵

这里写图片描述

2.在代码中表示出优先关系矩阵

这里写图片描述

3.通过逐个扫描输入的字符串,进行匹配,最后放到输入栈中

这里写图片描述

4.入栈优先函数,方便以后比较

这里写图片描述

5.在主函数中,先将文件里的内容读入缓冲区,然后从缓冲区依次取数进行一下判断。

这里写图片描述

实验感想

通过这次试验,我理解了什么是自底向上的编译过程。也理解了怎样求FIRST集合和FOLLOW集合。并且通过编写桌面应用程序了解了一些桌面控件的使用。这次实验可以说是前面实验的综合,程序中也有几个地方用到了前面写的代码。对于我自己来说,最难的部分在于讲这些思想转化成代码实现出来。很大一部分在于自己平时没有多打代码以及就是对算符优先分析的思想理解得还不透彻。在写main函数时,因为要调用很多函数,刚开始写的时候陷入了死循环。以及栈函数的各种调用发生了错误。说明自己思路还不够清晰。因为之前对算符优先分析法及四元式的理解不够明白,在这个实验成功之后,字节能够透彻地了解,知道了算符文法的形式,对给定的算符文法能构造算符优先关系分析表,并判别所给出的文法是否为算符优先文法,同时我也认识到算符优先文法的优缺点及实际应用中的局限性。

原创粉丝点击