编译原理 (2)近年原文.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

编译原理

第一章:

1.编译程序是现代计算机系统的基本组成部分之一?

2.一个计算机系统中通常配置多个高级语言的编译程序?

3.在一个计算机系统中可为某些高级语言配置多个不同性能的编译程序?

4.编译程序是一种语言翻译程序,其功能是把一种语言编写的程序翻译成另一种语言的等价程序?

5.被编译的程序称为源程序,编译后的等价程序称为目标程序?

6.编译程序的任务就是将源语言程序翻译成等价的目标语言程序?

7.通常将编译过程分为六个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成。?

8.词法分析的主要任务是从左至右扫描字符序列,并按照此法规则识别出一个个的单词?

9.单词是指逻辑上紧密相连的一组字符,这些字符具有集体含义。?

10.计算机语言中,单词的种类通常有保留字、标识符、数、算符、界符等?

11.语法分析的主要任务是:按照语言的语法规则,把词法分析所得的单词序列分解成各类语法成分。?

12.词法分析和语法分析都是对源程序进行结构分析,但二者是有区别的。?

13.语义分析的主要功能是审查源程序有无语义错误,伪代码生成阶段收集类型信息。?

14.中间代码生成阶段的主要任务是,把源程序转换成一种中间代码?

15.中间代码是一种结构简单、含义明确的记号系统?

16.中间代码可以设计成多种形式,其设计原则有两点:一是容易生成,二是容易转换成目标代码?

17.代码优化的主要任务是对中间代码进行改造,使生成的目标代码更为高效?

18.目标代码生成阶段的任务是把中间代码转换成特定机器上的绝对指令代码或者可重定位的指令代码或者汇编指令代码?

19.在编译过程的每个阶段中都含有出错处理和表格管理的工作?

20.编译程序的结构可以按功能分为八个模块,即词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序和目标代码生成程序,此外还有与上述每个阶段都有关系的出错处理程序和表格管理程序。?

21.按照编译程序的工作主要是与源语言有关还是与目标机有关,编译过程也可前端和后端?

22.前端的工作主要依赖于源语言而与目标机无关,包括词法分析、语法分析、语义分析、中间代码生成以及每个阶段中的出错处理和表格管理工作,还包括代码优化阶段的部分工作?

23.后端的工作主要与目标机有关而与源语言无关,主要是代码生成及相关的出错处理和表格管理工作?

24.编译过程中,对源程序或者中间语言程序从头至尾扫描一次并完成相应工作的过程称为“一遍”或者“一趟”?

25.解释程序是另一种语言处理程序,其工作特点是边分析边执行,不生成目标代码。

第二章:词法分析?

1.终结符:构成语言文法的单词,是语法成分的最小单位a,b,c?

2.非终结符:是由终结符和非终结符串或者终结符串构成的语法成分?,A,C,C

3.终结符和非终结符都是语法成分?

3.单词分类:关键字,标示符,字面量,特殊符号

4.产生和识别单词的规则称为模式,按照某个模式识别出的元素成为记号,单词是指被识别出元素自身的值。

5.?正规式与正规集(概念,描述一个语言)?

1)?ε和?都是∑上的正规式,它们所表示的正规集分别为{ε}和?;?

2)?任何a∈∑,a是∑?上的一个正规式,它所表示的正规集为{a};?

3)?假定U和V都是∑上的正规式,它们所表示的正规集分别为L(U)和L(V),那么,(U|V),

(U.V)和(U)*也都是正规式,它们所表示的正规集分别为L(U)∪L(V)、L(U)L (V)(连接积)和(L(U))*(闭包)?

仅由有限次使用上述三步骤而得到的表达式才是∑上的正规式。仅由这些正规式所表示 的字集才是∑上的正规集。

r+=rr*=r*r,r*=r+|ε

?不确定的有限自动机NFA:不确定性

M=(S,∑,move,?S0,F)??

S是有限个状态的集合;??

∑是有限个输入字符的集合;

move是转换函数,move(si,ch)=sj,表示当前状态si遇到输入字符ch则转移到状态sj

S0是唯一的除态;

F是终态集,他是S的子集。

确定的有限自动机DFA:确定性

没有状态具有ε状态转移,即状态转换图中没有标记ε的边;

对每一个状态S和每一个字符a,最多有一个下一状态。

NFA-DFA:ε-闭包(T)

T中所有状态属于ε-闭包(T)

任何smove(ε-闭包(T),ε)属于ε-闭包(T)。

最小化DFA

构造状态集的初始化分П={S-F,F1,F2,...}

查看F1,F2...的状态转移,形成新划分,直至不可区分。

不可区分的组中选择一个代表。

第三章语法分析

1.语法错误:词法错误和语法错误;语义错误:静态语义错误和动态语义错误。

2.上下文无关文法CFG

G是一个四元组(N,T,P,S),其中:?

1.?N是一个非空有穷的非终结符号集合,?

2.

文档评论(0)

海松 + 关注
实名认证
内容提供者

好文件大家都可以下载

1亿VIP精品文档

相关文档