编译原理 部分名词解释

Posted getcharzp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译原理 部分名词解释相关的知识,希望对你有一定的参考价值。

翻译程序:是指这样的程序能够把某一种语言程序(源语言程序)转化成另一种语言程序(目标语言),而后者与前者在逻辑上是等价的
编译程序:源语言是诸如Java、C、Ada、Pascal这样的“高级语言”,目标语言是诸如汇编语言的“低级语言”,这样的一个翻译程序就称为编译程序
编译程序的工作一般可以划分为5个阶段:
 词法分析、语法分许、语义分析及中间代码的生成、优化、目标代码生成
 
编译程序各个阶段之间的关系: 
 下一阶段将上一阶段的结果进行处理
 
程序语言主要由语法、语义两方面定义
高级程序语言是用来描述算法和计算机实现的双重目的
语法分析树(语法树)是对句子的描述
文法描述语言的语法规则
上下文无关文法G包括四个组成部分: 
 终极符号,非终结符号(大写符号),开始符号,产生式
 
箭头“→”读作“定义为”,直竖“|”读作“或”,它们都是源语言符号
句型:由终结符号和非终结符号组成的文法
句子:仅含终极符号的句型
语言:由文法产生的所有句子组成
最左推导是指:对于任何a ==> b,都对a的最左非终结符号进行迭代
如果一个文法存在一个句子对应两棵不同的语法树,则称这个文法是二义的
二义文法:
 1、最左端是一个非终结符号
 2、左边的个数≤右边的个数
 
确定有限自动机(DFA),非确定有限自动机(NFA)
一个LEX源程序主要包括两部分
 1、正规定义式
 2、识别规则
 
闭包:由集合中的元素组成的无数多个串(其实跟循环差不多)
消除左递归的方法:
 eg:P ==> Pα|β
 ---------
 P ==> βP‘
 P‘ ==> αP’|e
 
短语:语法树中任意子树节点所组成符号串
直接短语:只有两代的端末
句柄:由最左推导的出来的直接短语
规范规约:针对α的最左规约,即就是最右推导的逆过程
规范规约,即就是由上一步推导出下一步的过程、式子;而句柄,指的是该式子、公式推导符号的推导结果
“移进-规约”过程由4个列组成
 步骤、符号串、输入串、动作
 
算符优先文法的判定:
 只要优先关系表中没有多重入口
 
算符优先的分析过程  等价于  移进-归约
附注语法树,带注释的语法树
 





























以上是关于编译原理 部分名词解释的主要内容,如果未能解决你的问题,请参考以下文章

用一个JavaScript四则运算解释器来理解编译原理

python 解释器及其工作原理

学了编译原理能否用 Java 写一个编译器或解释器?

编译原理--概论

❤编译原理期末期末高效快速得分文章

JVM原理与内存模型