编译原理知识点总结哈工程教程.docx

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

第一章概论1.什么是编译器?输入输出?编译器是将一种语言翻译为另一种语言的计算机程序。输入:源语言( source language) 编写的程序输出:目标语言( target language ) 编写的程序。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:状态集合∑:字母表T:转换函数S0:初始状态A:接受状态NFA:NFA构成相同,且Σ可以有ε,转入状态可以是多个状态。例:S={x, y, z}∑={a, b, c}T=fS0=xA={y, z}f(x, a) = {x, y}f(x, c) = {z}f(y, b) = {y, z}a*ab*=a+b*a*ab*b=a+b+a*ca+b*|a+b+|a*c=a*(ab|c)第三章上下文无关文法及分析语法分析两类:自顶向下,

文档评论(0)

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

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

1亿VIP精品文档

相关文档