编译原理
文章平均质量分 76
AC_alvin
这个作者很懒,什么都没留下…
展开
-
编译原理实验2——自动机的确定化和最小化
(前言:这个代码的产生真的是非常非常曲折。。。。因为退役之后没事儿干,打算好好折腾ubuntu玩玩,结果装系统的时候把win装崩了,作业还没备份直接全没了。。我重写的时候真的是眼里全是泪水。。。后来实验报告写好了之后,又萌萌哒地没有备份,又留在机房一次= =后来又是重写啊啊啊啊啊啊啊啊啊啊啊!)使用说明:调用NFA中的init函数可以对数组进行初始化。调用NFA中的re原创 2015-12-06 21:35:04 · 9329 阅读 · 5 评论 -
编译原理实验1——词法分割
这个实验我采用的方法是将字符(or数字)和运算符切割开来,代码很简单也不想解释了。使用方法:新建三个文件keyword.in,operator.in,value.inkeyword.in里首先一个整数x表示关键字的个数接下来x行每行一个字符串和一个整数分别表示一个关键字和对应键值operator.in里首先一个整数x表示运算符的个数接下来x行每行一个字符串和一个原创 2015-12-06 21:19:29 · 1257 阅读 · 0 评论 -
编译原理实验4——LL(1)文法分析
本来是打算再写一个select集生成器的,但是时间有限再加上懒后来还是放弃了= =。这个代码也是需要先新建一个文本文件sy4.in文本文件中第一行有一个整数x,代表有x个产生式接下来x行每行有三个字符串,分别代表产生式左边,右边还有对应的select集最后一行还有一个字母s,代表起始字符在读入了数据之后,若文法是LL(1)文法,则会输出"The Data is ok!"否则原创 2015-12-07 14:22:03 · 3120 阅读 · 0 评论 -
编译原理实验3——递归下降分析
本代码实现的文法是这样的G[E]:E→E+T| TT→T*F|FF→(E ) | i因为包含左递归,故需要消去之后才能做。设计理念:通过递归下降的方式来对句子进行分析。若能够接收一个完全的初始字符并且所有的串全部被读入,则算作accepted。否则为wrong。使用说明:首先输入需要分析的样例个数,再依次输入待分析的句子即可。代码原创 2015-12-07 14:11:02 · 2259 阅读 · 1 评论