
编译原理
文章平均质量分 93
麓山枫林晚
或许是不知梦的缘故,流离之人追逐幻影
展开
-
编译原理——小白看这一篇很有帮助
编译原理的一些理解 目录 前言 一、 编译器翻译流程 二、 词法分析以及Flex工具 三、 TINY源码中看词法分析 四、 语法分析和Bison工具 五、 TINY源码中看语义分析和中间代码(目标代码)生成 六、 TM目标平台和中间代码规范 七、 总结 前言 编译,这个词作何解释?可以说是一个字一个字的翻译,何解?“译”解为翻译之意。如同我们与外国人交流时,要将我们的语言转换翻译成...原创 2020-06-20 11:45:37 · 1764 阅读 · 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 · 935 阅读 · 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 · 2136 阅读 · 0 评论 -
TINY语言采用递归下降分析法编写语法分析程序
目录自顶向下分析方法TINY文法消左提左、构造first follow基本思想python构造源码运行结果 参考来源:聊聊编译原理(二) - 语法分析 自顶向下分析方法 自顶向下分析方法:递归下降分析法,LL1分析法。其实本质上核心思想是一样的,也就是LL,从左至右,最左推导,因而我觉得其实可以把前一个称为LL0分析法,即不使用向前看符号,这也是他们的不同点,具体实现不同罢了,递归下降需要用回溯和...原创 2020-04-19 22:34:53 · 1500 阅读 · 0 评论