
编译原理
关于编译原理的一些学习笔记
逢青丶
这个作者很懒,什么都没留下…
展开
-
编译原理(7):运行存储分配
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。运行存储分配一、运行存储分配概述运行存储分配策略编译器在工作过程中,必须为源程序中出现的一些数据对象分配运行时的存储空间对于那些在编译时刻就可以确定大小的数据对象,可以在编译时刻就为它们分配存储空间,这样的分配策略称为静态存储分配反之,如果不能在编译时完全确定数据对象的大小,就要采用动态存储分配的...原创 2020-02-16 13:40:08 · 7137 阅读 · 0 评论 -
编译原理(6):中间代码生成
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、类型表达式 (Type Expressions)类型表达式基本类型是类型表达式integerrealcharbooleantype_error (出错类型)void (无类型)可以为类型表达式命名,类型名也是类型表达式将类型构造符(type constructor)作用于...原创 2020-02-14 19:02:33 · 2555 阅读 · 0 评论 -
编译原理(5):语法制导翻译
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、语法制导翻译概述什么是语法制导翻译语法制导翻译的基本思想两个概念语法制导定义(SDD)语法制导翻译方案(SDT)SDD与SDTSDD:是关于语言翻译的高层次规格说明;隐蔽了许多具体实现细节,使用户不必显式地说明翻译发生的顺序SDT:可以看作是对SDD的一种补充,是S...原创 2020-02-12 18:58:12 · 14573 阅读 · 0 评论 -
编译原理(4):语法分析下——自底向上分析
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、自底向上分析概述自底向上的语法分析从分析树的底部(叶节点)向顶部(根节点)方向构造分析树可以看成是将输入串w归约为文法开始符号S的过程自顶向下的语法分析采用最左推导方式自底向上的语法分析采用最左归约方式(反向构造最右推导)自底向上语法分析的通用框架移入-归约分析(Shift-Re...原创 2020-02-11 16:05:35 · 10378 阅读 · 0 评论 -
编译原理(4):语法分析上——自顶向下分析
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、自顶向下分析概述最左推导(Left-most Derivation)最右推导(Right-most Derivation)自顶向下分析(Top-Down Parsing)从分析树的顶部(根节点)向底部(叶节点)方向构造分析树可以看成是从文法开始符号S推导出词串w的过程每一步推导中,都需要...原创 2020-02-09 20:19:37 · 4593 阅读 · 0 评论 -
编译原理(3):词法分析
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、正则表达式正则表达式语言是一个集合,因此我们可以在语言上进行多种集合运算。比如说并运算,乘积运算(即连接运算),闭包运算等等。接下来我们看一个语言的例子,如下图所示:这个语言的字首是字母 a,接下来连接一个任意长度的 a,b串,再接下来连接一个空串。连接一个空串就代表句子已经结束了。除此之...原创 2020-02-07 22:43:41 · 2573 阅读 · 0 评论 -
编译原理(2):语言及其文法
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、基本概念字母表字母表Σ 是一个有穷符号集合。字母表也称为符号集。符号:字母、数字、标点符号…例:ASCII 字符集,二进制字母表:{0,1},Unicode字符集字母表上的运算字母表与字母表的乘积字母表的 n次幂:长度为 n 的符号串构成的集合字母表的正闭包:长度正数的符号串构成...原创 2020-02-06 16:20:40 · 1601 阅读 · 0 评论 -
编译原理(8):代码优化
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、流图基本块(Basic Block)基本块是满足下列条件的最大的连续三地址指令序列控制流只能从基本块的第一个指令进入该块。也就是说,没有跳转到基本块中间或末尾指令的转移指令除了基本块的最后一个指令,控制流在离开基本块之前不会跳转或者停机基本块划分算法首先(1)指令是首指令,其次跟在...原创 2020-02-18 18:34:47 · 6156 阅读 · 0 评论 -
编译原理(9):代码生成
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。一、代码生成器的主要任务指令选择选择适当的目标机指令来实现中间表示(IR)语句寄存器分配和指派把哪个值放在哪个寄存器中指令排序按照什么顺序来安排指令的执行二、一个简单的目标机模型地址机器模型加载、保存、运算、跳转等操作内存按字节寻址n个通用寄存器R0, R1, …, Rn-1假设...原创 2020-02-20 17:51:20 · 3551 阅读 · 0 评论 -
编译原理:绪论
声明:本系列文章,是根据中国大学MOOC网 哈工大的编译原理 这门课学习而成的学习笔记。什么是编译编译:将高级语言(源)翻译成汇编语言或机器语言(目标)的过程编译器在语言处理系统中的位置预处理器:将源程序转换成经过预处理的源程序。预处理过程:把存储在不同文件中的源程序聚合在一起。把被称为宏的缩写语句转换为原始语句编译器:将源程序转换为汇编语言程序。汇编器:将汇编语言程序转换成可重...原创 2020-02-03 19:28:53 · 557 阅读 · 0 评论