
编译原理
文章平均质量分 93
麓山枫林晚
或许是不知梦的缘故,流离之人追逐幻影
展开
-
编译原理——小白看这一篇很有帮助
编译原理的一些理解目录前言一、 编译器翻译流程二、 词法分析以及Flex工具三、 TINY源码中看词法分析四、 语法分析和Bison工具五、 TINY源码中看语义分析和中间代码(目标代码)生成六、 TM目标平台和中间代码规范七、 总结前言编译,这个词作何解释?可以说是一个字一个字的翻译,何解?“译”解为翻译之意。如同我们与外国人交流时,要将我们的语言转换翻译成...原创 2020-06-20 11:45:37 · 1804 阅读 · 0 评论 -
【编译原理】文法的定义与分类
文法的定义文法G = ( Vt, VN, P ,S )Vt:终结符集合VN:非终结符集合P:产生式集合S:文法开始符号(最大的语法成分)Chomsky文法分类体系乔姆斯基把文法分成了四类,0~3型文法有文法中的一个产生式 α -> β。0型文法:α中至少包含一个非终结符1型文法:也就是上下文有关文法(CSG) 满足 |α| <= |β| ,|x|表示x的符号个数。也就是α1Aα2 -> α1Bα2(且B不为空)2型文法:也就是上下文无关文法(CFG),即α只能为V原创 2020-06-09 20:19:08 · 941 阅读 · 0 评论 -
【编译原理】自底向上分析方法——LR文法分析方法的总结
LR(0)、SLR(1)、LR(1)、LALR(1) de 若干方面的区别目录推导过程分析能力本质区别文法对比可以适当利用物理意义对二义性文法进行冲突处理推导过程LR(0)的基础上才有SLR(1) SLR分析方法只用在分析表上,DFA与LR(0)相同LR(1)的基础上才有LALR(1) LR(1)的DFA合并同心项才能为LALR(1)分析能力LR(1)>LALR(1)>SLR(1)>LR(0)分析能力指的是分析方法对于文法的甄别能力,也就是可以理解成文法包括的范围,LR(1)原创 2020-06-09 20:01:26 · 2162 阅读 · 0 评论 -
TINY语言采用递归下降分析法编写语法分析程序
目录自顶向下分析方法TINY文法消左提左、构造first follow基本思想python构造源码运行结果参考来源:聊聊编译原理(二) - 语法分析自顶向下分析方法自顶向下分析方法:递归下降分析法,LL1分析法。其实本质上核心思想是一样的,也就是LL,从左至右,最左推导,因而我觉得其实可以把前一个称为LL0分析法,即不使用向前看符号,这也是他们的不同点,具体实现不同罢了,递归下降需要用回溯和...原创 2020-04-19 22:34:53 · 1518 阅读 · 0 评论