编译原理1、2章小结.pptVIP

  • 1
  • 0
  • 约1.8千字
  • 约 21页
  • 2018-04-29 发布于河南
  • 举报
编译原理1、2章小结

编译原理 李桂荣 第一章 引论 (1)编译程序是指将源程序完整地转换成机器语言或汇编语言程序,然后再处理执行的翻译程序。 (2)解释程序是指边解释边执行的翻译程序。 1、翻译程序分为:编译程序和解释程序。 2 、基本的编译程序由词法分析,语法分析,语义分析和中间代码生成,代码优化,代码生成,符号表管理,出错处理这些功能模块构成。 注释: (1)词法分析由词法分析器完成,接受平滑的字符流,输出切分出来的单词。 (2)语法分析由语法分析器完成,输入单词序列,输出这些单词所组成的程序的结构。 (3)语义分析完成由语法分析程序识别出来的语法成分的语义的分析。 (4)中间代码生成以中间代码的形式实现对语义分析结果的表示。 (5)代码优化分为局部优化和全局优化。可以节省存储空间。 (6)目标代码生成完成中间代码到机器上机器指令代码或者目标机器上的汇编代码的转换。 (7)出错处理主要发现拼写,结构,匹配等方面的问题。 (8)符号表管理提供辅助模块以供反复利用。 3、T形图是一种很好的表达编译程序构造途径的工具,用它可以方便地表示自展,移植,本机编译器的利用。 第二章 高级语言及其文法 1、高级程序设计语言中最基本的成分: (1)单词 是按照一定规则由字符组成的串。单词又成为记号 词,字。 (2)语句 是按照一定规则由单词组成的串。语句又成为句子 (3)程序 是按照一定规则由语句组成的串。 (4)语言 是语句的集合。 2、基本定义 (1)字母表 是一个非空有穷集合,字母表中的元素成为该字母表的一个字母,或者字符。字母表用∑表示。字母表中的字符具有整体性和可辨别性。 (2)设是∑1,∑2两个字母表,∑1和∑2的乘积为:∑1∑2={ab|a∈∑1,b∈∑2} 。 (3)设∑是一个字母表,∑的正闭包定义为:∑+=∑∪∑2∪∑3∪∑4∪…… (4) ∑的克林闭包为: ∑*=∑0∪∑+ =∑0∪∑∪∑2∪∑3∪…… (5)设∑是一个字母表,?x ? ∑*,x称为字母表∑上的一个句子,ε叫做∑上的一个空句子。 (6)设∑是一个字母表,对任意的x,y∈∑*,a∈∑,句子xay中的a叫做a在该句子中的一个出现。 3、文法的定义 文法G为一个四元组: G = (V,T,P,S) V:非终结符集 语法变量(成分)——代表某个语言的各种子结构 T:终结符集 语言的句子中出现的字符,V∩T=Φ S:开始符号,S∈V 代表文法所定义的语言,至少在产生式左侧出现一次 P:产生式集合 α→β,被称为产生式(定义式),读作:α定义为β。其中α∈(V∪T)+,且α中至少有V中元素的一个出现。β∈(V∪T)*。α称为产生式α→β的左部,β称为产生式α→β的右部。 3、句子与句型 (1)设有文法G=(V,T,P,S),则称 L(G)={w | S w w∈T* }为文法G产生的语言。?w∈L(G),w称为G产生的一个句子。 显然,对于任意一个文法G,G产生的语言L(G)就是该文法的开始符号S所对应的集合L(S)。 (2)设文法G=(V,T,P,S),对于?α∈(V∪T)*,如果S = α,则称α是G产生的一个句型(sentential form),简称为句型 。 (3)句型与句子的区别: 句子w是从S开始,在G中可以推导出来的终结符号行,它不含语法变量; 句型α是从S开始,在G中可以推导出来的符号行,它可能含有语法变量; 句子一定是句型;但句型不一定是句子 4 、 文法的分类 设文法G=(V,T,P,S),则 (1)G称为0型文法,也称为短语结构文法(PSG)。L(G)称为0型语言,也称为短语结构语言(PSL) (2)如果对于?α?β∈P,均有|β|≥|α|成立(S→ε除外),则称G为1型文法或上下文有关文法。 L(G)称为1型语言或上下文有关语言。(敏感语言)

文档评论(0)

1亿VIP精品文档

相关文档