自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 编译原理8 代码优化

对以上求出的每个入口语句,确定其所属的基本块。它是由该入口语句到下一入口语句(不包括该入口语句)、或到一转移语句(包括该转移语句)之间的语句序列组成的、或一停语句(包括该停语句)之间的语句序列组成的。所谓变量A在某点d的定值到达另一点u(或称变量A的定值点d到达另一点u),是指流图中从d有一通路到达u且该通路上没有A的其他定值。循环不变运算:对四元式A:=B op C,若B和C是常数,或者到达他们的B和C的定值点都在循环外。划分基本块:局限于基本快范围内的优化称为基本块内的优化,或称局部优化。

2023-03-19 23:44:02 354

原创 编译原理6 语法制导翻译和中间代码生成

为每一个包含过程调用的语义规则引入一个虚综合属性b,这样把每一个语义规则都写称b:=f(C1,C2,…依赖图中为每一个属性设置一个结点,如果属性b依赖于属性c,则从属性c的结点有一条有向边连到属性b的结点。注意接受addtype的值L的addtype属性是由id.entry和L.in进行确定的。在一颗语法树中的结点的继承属性和综合属性之间的相互依赖关系可以由依赖图(有向图)来描述。抽象语法树:在语法树中去掉那些对翻译不必要的信息,从而获得更有效的源程序中间表示。通过树遍历的方法计算属性的值。

2023-03-19 21:56:58 1175

原创 编译原理5 LR分析法

LR(1)分析法:(1) L表示:自左向右扫描输入串(2) R表示:最右推导的逆过程(3) 1表示:先前看一个字符判断SLR(1)的方法:(1) 构造分析表(2) 根据文法的LR(0)项目集规范族,就能够通过观察含有归约项目的项目集判断规范归约:算符优先文法 vs 规范规约规范归约是最左归约规范规约的逆过程就是最右推导。

2023-03-19 18:57:14 270

原创 编译i原理5 算符优先文法

基本思想:就是从待分析的终结符号串出发,反向使用产生式规则,将产生式规则右部的符号串归约为左部的非终结符。通过一系列这样的归约,最终能归约出文法的起始符号,则证明待分析的终结符号串是合法的句子。

2023-03-19 18:32:31 535

原创 编译原理4 LL(1)

3. FIRST集合中包含空集那么与FOLLOW集合不相交。2. 非终结符的FIRST集合不相交。5. FOLLOW集合。1. 文法不含左递归。3. 提取公共左因子。4. FIRST集合。

2023-03-19 10:55:04 60

原创 编译原理3词法分析与有限自动机

定义:L()表示语言正规式的等价性:若两个正规式所表示的正规集相同,则称这两个正规式等价举例:正规式的性质:正规式的构造:终态可以没有也可以有多个(1)先根据初态和终态分成两组(2)再根读相同字符之后的状态不同再分成不同的子集(3)直到不能被化简为止

2023-03-19 10:20:53 237

原创 编译原理2

直接短语:能一步直接替换为非终结符的叶结点。素短语:找短语中带有终结符,但不包含素短语。句柄:最左直接短语,根据语法树结构去找。短语:能表示非终结符的所有叶子结点。举例:上述例子中的T,F,P,i。举例:上述例子中的F*P,i。举例:上述例子中的F*P。举例:上述例子中的T。

2023-03-17 09:56:53 62

原创 编译原理的基本概念和结构

编译各个阶段识别出的程序元素及其相关信息都要保存到各个表格中,以便分析源程序和生成目标程序时使用,编译过程是一个不断对表格进行访问的过程。因此,表格访问效率的高低对编译效率的影响很大。提高表格的访问效率,要仔细设计表格的结构,而且还要设计表格的高效访问算法。编译前端:源语言有关,如词法分析、语义分析,语义分析与中间代码产生,与机器无关的优化。编译后端:与目标机有关,与目标有关的优化,目标代码产生。

2023-03-17 05:54:45 200 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除