编译原理
文章平均质量分 71
botechs
这个作者很懒,什么都没留下…
展开
-
【编译原理】TINY编译器学习(一)
《编译原理及实践》中附带的TINY编译器,代码仅有几千行,这点代码就实现了一个完整的编译器,及对应的目标代码运行程序,接下来会用一段时间研究下这个代码。1. 源代码来源Google “loucomp” 下载即可。2. 源码结构globals.h main.cutil.h util.cscan.h scan.cpa原创 2014-06-30 22:14:52 · 1999 阅读 · 0 评论 -
【编译原理】语法制导翻译之属性文法(一)
龙书P195SSD 语法制导定义。综合属性:原创 2014-06-29 20:28:31 · 8155 阅读 · 2 评论 -
【编译原理】使用flex生成词法扫描程序步骤
1. flex源文件:TEST.L2. shiyo原创 2014-07-03 21:59:41 · 1770 阅读 · 0 评论 -
【编译原理】TINY编译器之词法分析(二)
TINY编译器的词法分析程序在scan.c文件zhon原创 2014-07-06 20:53:44 · 3420 阅读 · 0 评论 -
【编译原理】文法的语法图
语法图用作可视地表示EBNF规则(syntax diagram)。它是由表示终结符和非终结符的方框、表示序列和选择的带箭头的线,以及每一个表示文法规则定义该非终结符的图表的非终结符标记组成。圆形框和椭圆形框用来指出图中的终结符,而方形框和矩形框则用来指出非终结符。废话少说,上例子:1.factor→(exp)|number2.A→{B}3.A→[B]原创 2014-07-05 19:28:40 · 8528 阅读 · 0 评论 -
【编译原理】乔姆斯基(chomsky)文法分类
什么是0型文法,1型文法,2型文法,3型文法乔姆斯基把方法分成四种类型,即0型、1型、2型和3型。这几种文法类型的概念一定要掌握,是一个非常重要的考点。对于这几种文法,一般书上都只有简单的概念介绍,比较抽象,所以很多学员都没有真正理解。下面我将把概念结合例题进行讲解。0型文法设G=(VN,VT,P,S),如果它的每个产生式α→β是这样一种结构:α∈(VN∪VT)*且至少含有转载 2014-07-04 21:58:20 · 20828 阅读 · 0 评论 -
【编译原理】自顶向下的语法分析之递归下降分析法
1. 基本原理递归下降法是语法分析中最易懂的一种方法。它的主要原理是,对每个非终极符按其产生式结构构造相应语法分析子程序,其中终极符产生匹配命令,而非终极符则产生过程调用命令。因为文法递归相应子程序也递归,所以称这种方法为递归子程序下降法或递归下降法。其中子程序的结构与产生式结构几乎是一致的。2. 文法要求递归下降法要满足的条件:假设A的全部产生式为Aàα1|α2|……|αn ,则必须转载 2014-07-05 20:42:52 · 6388 阅读 · 0 评论 -
【编译原理】自上而下的语法分析之预测分析法
LL(1)预测分析法第一个L表示从左到右扫描输入串第二个L表示最左推导1表示每步只需向前看一个符号yucefenxi原创 2014-07-06 20:30:47 · 6592 阅读 · 1 评论 -
【编译原理】自下而上的语法分析之LR分析法
LR分析器是一种由下而上(bottom-up)的上下文无关语法分析器。LR意指由左(Left)至右处理输入字符串,并以最右边优先派生(Right derivation)的推导顺序(相对于LL分析器)建构语法树。能以此方式分析的语法称为LR语法。而在LR(k)这样的名称中,k代表的是分析时所需前瞻符号(lookahead symbol)的数量,也就是除了目前处理到的输入符号之外,还得再向右引原创 2014-07-13 21:54:30 · 25049 阅读 · 0 评论