编译原理(小抄).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理(小抄)整理

翻译程序:有这样的一个程序,它把用汇编语言或高级语言编写的程序转换成等价的机器语言程序,我们把这种执行转换功能的程序统称为翻译程序。 编译:高级语言的翻译程序称为编译程 编译程序的输入对象称为源程序,输出对象称为目标程序。 编译程执行分为两阶段:编译阶段,运行阶段。 编译阶段:对整个源程序进行分析,翻译成等价的目标程序,翻译的同时做语法检查和语义检查,凡是有错误的源程序均指出其错误。运行阶段在运行子程序的支持下执行目标程序。运行子程序是为了支持目标程序的运行而开发的程序。 编译程序的功能结构: 词法分析:扫描程序的ASCII码序列,识别出一个个具有独立意义的最小语法单位,并把每个单词的ASCII码序列替换为所谓的token形式。 语法分析:根据程序设计语言的语法规则,把词法分析的结果分解陈各种语法单位,同时检查程序中的语法错误。 语义分析:对语法分析所识别出的各类语法范畴,分析其含义,并进行静态语义检查。 中间代码生成:上述过程后,有些编译程序将程序变成一种内部表示形式,这种表示形式叫做中间代码 中间代码优化:对前阶段产生的中间代码在不改变源程序的前提下进行加工变化,使生成的代码更高效,缩短运行时间或节省存储空间。 目标代码生成:把中间代码变换成特定机器上的机器指令代码或汇编指令代码。 表格管理:编译程序在对源程序的分析过程中,需要创建和管理一系列的表格,以登记源程序的各类信息和编译各阶段的进展情况。 错误处理:一个编译程序不仅能对书写正确的程序进行翻译,而且能对出现在源程序中的错误进行处理。 编译程序和解释程序有哪些区别?解释程序是源程序的一个执行系统,而编译程序是源程序的一个转换系统;解释器直接由源程序得到运行结果,而编译器是生成等价于源程序的某种目标机程序。 文法:是用有限的规则表示无穷字符串集的一种方法 O型文法: 也称为短语文法,其产生式具有形式:(→(,其中(,(((VT(VN)*,并且(至少含一个非终极符; 1型文法: 也称为上下文有关文法。它是0型文法的特例。其产生式具有形式: (1)(A(→(((,A(VN, (为非空串.或(2)|(| ( |(| (S是开始符,S→(除外,且S不出现在任何产生式的右部) 2型文法: 也称为上下文无关文法。它是1型文法的特例。其产生式具有形式:A→ (, A(VN, (为非空串. 即要求产生式左部是一个非终极符. 3型文法: 也称为正则文法。它是2型文法的特例。其产生式的右部至多有两个符号,而且具有下面形式之一: A →a ,A →a B, 其中A,B(VN ,a(VT 文法描述能力O型文法 1型文法 2型文法 3型文法 0型:S? abC | c, bC?d; 1型:S? abC , bC? ad; 2型:S? abC, C?bd; 3型:S? a | bC , C?d; 3给出能被3整除的二进制数表示形式的正则定义。(0A | 1 B ;A(0A | 1 B | 0;B(0C | 1 A | 1;C(0B | 1 C 句型:如果有S (* (, S是文法的开始符, (∈ (VT(VN )*,则称(是G的句型 句子:如果有S (+ (, S是文法的开始符, (∈ VT*,则称(是G的句子 短语:一个句型形如(((, 如果存在一个句型(A(,而且 A(+(, 则称(为句型(((的短语; 一个句型形如(((, 如果存在一个句型(A(,而且 A ( (, 则称(为句型(((的简单短语; 句柄:一个句型的简单短语可能有多个,称最左简单短语为句柄 规范推导:最右推导 每个句子一定有最右(规范)推导,每个句型不一定有最右(规范)推导 二义性文法:如果文法的一个 消除文法二义性的常用方法: 1、规定符号的优先级2、规定符号的结合性 文法变换:有些语法分析方法要求被分析的文法满足一定的约束条件,当被分析的文法不满足这些条件时,常常要进行文法变换。文法变换必须保证变换前后的两个文法G1和G2是等价的,即L(G1) = L(G2) 消除公共前缀A ( ((1 | … | ((n| (1|…| (m提取公因子A ( (A’| (1|…| (m,A’ ( (1 | … | (n 消除左递归A ( A (1 | … | A (n| (1|…| (m消除: A ( (1A’|…| (mA’ ,A’ ( (1A’ | … | (nA’|( 自动机:是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。 NFA到DFA的转化思想:将NFA的状态集当作DFA的状态,同时确保转化后的DFA与原NFA等 DFA化简思想:等价状态:对于DFA中的两个状态 s1和 s2,如果分别将 s1和s2当作开始状态,它们接受的字符串集合相同,则称 s1 和 s2 是等价状态; 无关

文档评论(0)

chenchena + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档