编译原理学习笔记---- Thompson算法由正规式构造NFA 例如:求正规式 1(0|1)*101 的NFA 首先将正规式r=1(0|1)*101分解成r=r1,r2r3 将r2,r3展开得: 不确定有穷自动机(NFA) 一个不确定的有穷自动机T ...
这几天忙着学英语,同时在学习编译原理,对这门课很感兴趣,已经制作了词法分析器,同时还在补充这个分析器的功能,也准备着手开始写语法分析器,看到最后能不能连在一起,我想如果能够将整套编译器的流程跑下来真的很棒呢,看比尔盖茨那年龄都写出BASIC了,真是觉得与大牛差距太大,一定要追赶 将前一段时间学的编译原理重新回顾一下。也与大家分享一下学习资料。 翻译器:能够将一种语言转换成另一种语言的软件,而且后 ...
2012-04-04 17:10 11 6504 推荐指数:
编译原理学习笔记---- Thompson算法由正规式构造NFA 例如:求正规式 1(0|1)*101 的NFA 首先将正规式r=1(0|1)*101分解成r=r1,r2r3 将r2,r3展开得: 不确定有穷自动机(NFA) 一个不确定的有穷自动机T ...
自顶向上分析方法 1 思想 简单来说就是试图从输入符号串出发,将其直接作为叶子结点,然后向上构造出一棵分析树。从树根到叶子叫展开,而从叶子回树根就叫归约。所以这种方法的关键在于查找当前句型的可 ...
错误处理 说明:以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记。 1. 目标:编译程序对于语法和语义正确的源程序要正确地编译生成等价的目标代码;而对于错误的源程序不能一发现就停止,而是要能检查出错误的性质和出错位置,并使编译能继续下去,同时尽可能多而准确地发现错误和指出各种错误 ...
代码优化 以老师PPT为标准,借鉴部分教材内容,AlvinZH学习笔记。 概述 .1. 目的:提高目标代码运行效率。时间效率(减少运行时间);空间效率(减少内存容量)。 原则:进行优化必须严格遵循“不能改变原有程序语义”原则。 2. 优化的分类 从优化的层次,与机器是否有关,分为:独立 ...
1 目的 语法分析是根据源语言的语法规则从源程序记号序列(词法分析阶段的输出)中识别出各种语法成分,同时进行语法检查,为语义分析和代码生成做准备。 2 方法 对记号序列自左向右扫描,每次 ...
第一章 是基本概念,读完这一章是为了有个基本了解,这一章是很容易顺利读完的 第二章 这一章介绍了书中很多重要的东西。这一章虽然也有些难理解的地方,但是跟后面比还是容易很多,很多东西都很基本,对编译系统有个基本的理解。 第三章 词法分析 相比较语法分析,词法分析相对比较简单,就是一个自动机 ...
词法分析的任务: 首先,从阶段上来看,编译器可分为若干个中间阶段: 典型的,可以包含为一个前端,一个后端。前端接收源程序产生一个中间表示,后端接收中间表示继续生成一个目标程序。所以,前端处理的是跟源语言有关的属性,后端处理跟目标机器有关的属性。 更细节的,前端可以划分 ...
首先要说明的是: 一般的文法至少都是0型文法,也就是说0型文法限制最少。若将0型文法比作基类的话,1、2、3型文法就是不断继承并加以限制得到的子类。 文法表示过程中,常用大写字母表示非终结符VN ...