编译原理
仁者乐山智者乐水
这个作者很懒,什么都没留下…
展开
-
LR(1)分析法的总控的实现(C++实现)
LR(1)分析法实验设计思想及算法 (1)若ACTION[sm , ai] = s则将s移进状态栈,并把输入符号加入符号栈,则三元式变成为:(s0s1…sm s , #X1X2…Xm ai , ai+1…an#)(2) 若ACTION[sm , ai] = rj则将第j个产生式A->β进行归约。此时三元式变为(s0s1…sm-r s , #X1X2…Xm-rA , ai...原创 2018-11-15 13:58:53 · 9266 阅读 · 7 评论 -
词法分析(C++实现)
词法分析实验设计思想及算法本实验采用的基本思想是根据C++语言的基本状态集,根据各个状态的转移条件构造各个判断逻辑,将程序运行的状态加以区别。源程序来源采用文件导入的方式,对输入源程序的文件进行逐行的词法分析。支持对标识符、关键字、整数、浮点数、分界符、运算符等识别。对于读取的每一行代码保存在字符数组buf [120]中,设置起点指示器start(数组下标索引)和搜索指示器end(数组下标索引)...原创 2018-11-14 15:51:09 · 6959 阅读 · 3 评论 -
LL(1)分析法(C++实现)
LL(1)分析法实验设计思想及算法 本程序只是针对LL(1)文法,对于左递归和含有回溯的文法没有进行处理。本程序主要包括以下功能:对输入的文法进行读取,并保存在相应的数据结构中。 计算每一个非终结符的FIRST集合。 计算每一个非终结符的FOLLOW集合。 根据FIRST集和FOLLOW集构建预测分析表。 根据分析表对输入的字符串进行分析(总控程序)。 分析过程中能对相应的错...原创 2018-11-14 16:18:45 · 19143 阅读 · 2 评论 -
语法分析——自下而上分析
一、基本概念短语:在一个句型对应的语法树中, 以某非终结符为根的一棵子树的所有叶子自左至右排列起来形成一个相对于子树根的短语。 直接短语:仅有父子两代的一棵子树,它的所有叶子自左至右排列起来所形成的符号串。 句柄:仅有父子两代的一棵子树,它的所有叶子自左至右排列起来所形成的符号串。 素短语:一个文法G的句型的素短语是指这样一个短语,它至少含有一个终结符,并且,除它自身之外不再含任何更小的...原创 2018-11-15 09:34:04 · 537 阅读 · 0 评论