编译原理知识点总结 哈工程_第1页
编译原理知识点总结 哈工程_第2页
编译原理知识点总结 哈工程_第3页
编译原理知识点总结 哈工程_第4页
编译原理知识点总结 哈工程_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——编译原理知识点总结哈工程第一章概论

1.什么是编译器?输入输出?

编译器是将一种语言翻译为另一种语言的计算机程序。输入:源语言(sourcelanguage)编写的程序

输出:目标语言(targetlanguage)编写的程序。

2.汇编语言的优缺点

优点:汇编语言大大提高了编程的速度和确凿度

缺点:编写起来也不简单,阅读和理解很难;而且汇编语言的编写严格依靠于特定的机器,所以为一台计算机编写的代码在应用于另一台计算机时必需完全重写。

3.什么是解释器?与编译器的区别?

解释程序是宛如编译器的一种语言翻译程序。

与编译器的区别:它马上执行源程序而不是生成在翻译完成之后才执行的目标代码。

4.乔姆斯基分类结构有几种文法?名称?相互关系?4种名称:

0型无限制文法1型上下文相关文法2型上下文无关文法3型正则文法

相互关系:其中的每一个都是其前者的专门化。

5.什么是扫描器?扫描器的功能是什么?扫描器就是语法分析程序。

功能:依据词法规则,分析由字符组成的源程序,把它分割为一个一个具有独立意义的最小语法单位,即单词。

6.什么是编辑器?IDE中编辑器的新功能

编译器寻常接受由任何生成标准文件(例如ASCII文件)的编辑器编写的源程序。

IDE中编辑器的新功能:尽管编辑器依旧生成标准文件,但会转向正被探讨的程序设计语言的格式或结构。这样的编辑器称为基于结构的,且它早已包括了编译器的某些操作;因此,程序员就会在程序的编写时而不是在编译时就得知错误了。从编辑器中也可调用编译器以及与它共用的程序,这样程序员无需离开编辑器就可执行程序。

7.什么是调试器,与编译器的关系

调试程序是可在被编译了的程序中判定执行错误的程序。

运行一个带有调试程序的程序与直接执行不同,这是由于调试程序保存着所有的或大多数源代码信息(诸如行数、变量名和过程)。它还可以在预先指定的位置(称为断点)暂停执行,并提供有关已调用的函数以及变量的当前值的信息。为了执行这些函数,编译器必需为调试程序提供恰当的符号信息。

8.编译器有哪几个功能模块?各模块的功能及输入输出

源代码扫描程序记号语法分析程序语法树语义分析程序常量表解释树中间代码生成符号表中间代码错误处理器源代码优化程序中间代码代码生成器目标代码目标代码优化程序目标代码9.编译器有哪几个辅助部件?功能?(1)常量表:

存放在程序中用到的常量和字符串(2)符号表:

与标识符有关:函数、变量、常量以及数据类型。

与编译器的所有阶段交互:扫描程序、分析程序或将标识符输入到表格中的语义分析程序。(3)错误处理器

对源程序中错误的反应。

10.分析,综合

已将分析源程序以计算其特性的编译器操作归为编译器的分析部分,而将生成翻译代码时所涉及到的操作称作编译器的综合部分。当然,词法分析、语法分析和语义分析均属于分析部分,而代码生成却是综合部分。在优化步骤中,分析和综合都有。分析正趋向于易懂和更具有数学性,而综合则要求更深的专业技术。因此,将分析步骤和综合步骤两者区分开来以便发生变化时互不影响是很有用的。

11.前段,后端

将编译器分成了只依靠于源语言(前端)的操作和只依靠于目标语言(后端)的操作两部分。

12.遍

编译器发现,在生成代码之前屡屡处理整个源程序很便利。这些重复就是遍。

13.静态语义?哪几类?

程序的语义确定程序的运行,但是大多数的程序设计语言都具有在执行之前被确定而不易由语法表示和由分析程序分析的特征。这些特征被称作静态语义。

一般的程序设计语言的典型静态语义包括声明和类型检查。由语义分析程序计算的额外信息(诸如数据类型)被称为属性,它们寻常是作为解释或“装饰〞增加到树中(还可将属性添加到符号表中)。

14.编译器中第一个考虑目标机的物理特性的模块是:代码生成器

______

15.T型图中|ST|S,T,H分别代表什么?

|H|

语言H(代表宿主语言)编写的编译器将语言S(代表源语言)翻译为语言T(代表目标语言)

16.T型图描述自举及移植的过程

其次章词法分析

正则表达式三种基本操作选择,连结,重复(闭包)

有穷自动机的组成元素

开始状态,终止状态,状态转换函数

正则表达式

a.十六进制数字串([0-9]|[A-F])+(x|X)

b.包含奇数个a或奇数个b(b*ab*a)*ab*|(a*ba*b)*ba*c.包含偶数个a或偶数个b(a*ba*b)*a*|(b*ab*a)*b*d.a或b必需成对出现(aa|b)*(a|bb)*

从正则表达式到NFA(Thompson结构)(1)并置

(2)选择

(3)重复

DFA:

构成

{S,∑,T,S0,A}S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论