![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译原理
枇杷鹭
留下学习的痕迹。
展开
-
【编译原理笔记20】代码生成:代码生成器的主要任务,一个简单的目标机模型,指令选择,寄存器的选择,寄存器选择函数getReg的设计,窥孔优化
若要生成完整的指令,还需考虑许多因素。原创 2020-08-16 22:24:36 · 1570 阅读 · 0 评论 -
【编译原理笔记19】代码优化: 支配结点和回边,自然循环及其识别,删除全局公共子表达式和复制语句,代码移动,作用于归纳变量的强度削弱,归纳变量的删除
代码优化的最后一节,主要是各种算法。原创 2020-08-16 15:44:25 · 5667 阅读 · 0 评论 -
【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析
关于活跃变量与可用表达式的分析。原创 2020-08-15 15:05:02 · 8142 阅读 · 1 评论 -
【编译原理笔记17】代码优化:数据流分析,到达定值分析,到达定值方程的计算
大部分全局优化都是数据流分析实现的,讲了到达定值分析,到达定值方程的计算(到达 IN 值表,ud链)。原创 2020-08-14 23:25:51 · 4703 阅读 · 0 评论 -
【编译原理笔记16】代码优化:流图,常用代码优化方法, 基本块的优化
以基本块为单位,进行运算上的推导优化。堪称妙!原来编译器这么强大!原创 2020-08-14 19:29:05 · 5562 阅读 · 0 评论 -
【编译原理笔记15】运行存储分配概述,静态存储分配,栈式存储分配,调用序列和返回序列,非局部数据的访问,符号表,符号表建立
运行存储的分配,我的理解是:过程调用在运行中的编译。原创 2020-08-13 21:41:04 · 3119 阅读 · 0 评论 -
【编译原理笔记14】中间代码生成:布尔表达式的回填,控制流语句的回填,switch语句的翻译,过程调用语句的翻译
中间代码生成的最后一节课(4/4/)。一共包含四课,内容如标题。原创 2020-08-11 18:01:07 · 6866 阅读 · 0 评论 -
【编译原理笔记13】中间代码生成:控制流语句及其SDT,布尔表达式及其SDT,控制流翻译的例子
如何使用控制流及分析树生成指令。原创 2020-08-11 16:53:38 · 3339 阅读 · 0 评论 -
【编译原理笔记12】中间代码生成:简单赋值语句的翻译,数组引用的翻译
赋值语句、(多维)数组引用的翻译以及其SDT。原创 2020-08-08 15:41:05 · 5755 阅读 · 0 评论 -
【编译原理笔记11】中间代码生成:类型表达式,声明语句的翻译
讨论了 类型表达式,以及 声明语句的翻译 的中间代码生成。原创 2020-08-08 13:56:50 · 3912 阅读 · 1 评论 -
【编译原理笔记10】语法制导翻译:在递归预测过程中进行翻译,L属性定义的自底向上翻译
翻译的另外两个方法:递归(构造递归程序)、自底向上构造(有实例)。原创 2020-08-04 17:06:16 · 2016 阅读 · 0 评论 -
【编译原理笔记09】语法制导翻译:语法制导翻译方案,在非递归的预测分析过程中进行翻译
语法制导翻译,讲了两个大的实例,很有趣。边翻译、边计算。原创 2020-08-04 16:19:03 · 3902 阅读 · 0 评论 -
【编译原理笔记08】语法制导翻译:语法制导定义,SSD的求值顺序,S属性定义与L属性定义
语法制导翻译概述。原创 2020-07-31 11:28:41 · 7468 阅读 · 1 评论 -
【编译原理笔记07】语法分析:SLR、LR(1)、LALR、二义性分析与错误处理
上节课的内容中,LR(0)存在冲突。这节课首先提出SLR进行解决。SLR的改进很简单,但还存在冲突。因此又引出LR(1)。但是,LR(1)的状态过多,于是引出LALR化简、合并其状态。最后,介绍了二义性与错误处理。原创 2020-07-28 12:17:51 · 9488 阅读 · 3 评论 -
【编译原理笔记06】语法分析,移入-归约分析:自底向上的分析,LR(0)分析法,LR(0)分析表的构建(基于自动机)
本节课介绍了自底向上的分析,并且举了例子,发现移入-归约分析存在问题,因此引出了LR分析法,以LR(0)分析法为例。在LR(0)分析法中,最重要的就是构建LR(0)分析表,基于自动机。这个解决方案不错。但是有时,造表时可能出现一些冲突,导致这个LR(0)分析法用不了,未来将讲解LSR和LR(1)分析法是如何消解冲突的。原创 2020-07-25 12:01:28 · 8449 阅读 · 1 评论 -
【编译原理笔记05】语法分析:FIRST集和FOLLOW集的计算,[非]递归的预测分析法,预测分析中的错误处理
首先为了得出了这个可以帮助我们大大提升效率,不需要再编译中回溯的预测分析表。接着进行文法匹配(分析)。原创 2020-07-22 18:55:44 · 1803 阅读 · 1 评论 -
【编译原理笔记04】语法分析:自顶向下的分析概述、文法转换、LL1文法
如何构造分析树?本次笔记记录自顶向下分析的概述。原创 2019-12-30 22:37:45 · 1965 阅读 · 0 评论 -
【编译原理笔记03】词法分析:正则表达式、有穷自动机(FA)、DFA与NFA及RE的相互转换、DFA识别单词、语法检测
具体讨论了词法分析中,正则表达式(RE)的语法,以及有穷自动机(FA)。进而引申出RE与DFA的相互转换,并且对DFA识别单词、检测语法错误的功能进行讨论。原创 2019-11-17 12:40:29 · 5659 阅读 · 3 评论 -
【编译原理笔记02】计算机如何表示语言及其文法,字母表(及其运算)、串、推导和归约、句型和句子、文法分析树
语言及其文法,基本概念与操作。原创 2019-11-05 20:52:46 · 2981 阅读 · 1 评论 -
【编译原理笔记01】什么是编译,编译系统各结构作用
介绍了什么是编译,并从编译系统的结构出发,对词法分析、语法分析、语义分析、中间代码生成和编译器后段进行概述。原创 2019-10-26 22:21:52 · 1986 阅读 · 1 评论