- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理_简答题
名词解释题:
Display表: 嵌套层次显示表
由于过程嵌套允许内层过程引用外层过程定义的数据,因此,当一个过程运行时必须跟踪它的所有外层过程的必威体育精装版活动记录起始地址, display表就是用于登记每个外层过程的必威体育精装版活动记录起始地址。 LL(1)文法
若文法的任何两个产生式A ( ( | (都满足下面两个条件:
(1)FIRST(( ) ( FIRST(( ) = (;
(2)若( (* ( ,那么FIRST(( ) ( FOLLOW( A ) = (。
我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左
向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步
动作时向前看一个输入符号。除了没有公共左因子外,LL(1)文法还有一
些明显的性质,它不是二义的,也不含左递归。
LR(0)分析器
所谓LR(0)分析,是指从左至右扫描和自底向上的语法分析,且在分析的每一步,只须根据分析栈当前已移进和归约出的全部文法符号,并至多再向前查看0个输入符号,就能确定相对于某一产生式左部符号的句柄是否已在分析栈的顶部形成,从而也就可以确定当前所应采取的分析动作 (是移进还是按某一产生式进行归约等)。 编译程序大致有哪几种开发技术?
答案:
(1)自编译(2)交叉编译 (3)自展 (4)移植: 编译程序的工作分为那几个阶段?
答:词法分析、语法分析和语义分析是对源程序进行的分析(称为编译程序的前端) ,而中间代码生成、代码优化和代码生成三个阶段合称为对源程序进行综合(称为
编译程序的后端),它们从源程序的中间表示建立起和源程序等价的目标程序。 编译程序的实现应考虑的问题有那些?
答案:
编译程序的实现应考虑:开发周期、目标程序的效率、可移植性、可调试性、可维护
性、可扩充性等。 编译程序和高级语言有什么区别?
答:用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器
语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程
的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。编译程序转
换过的叫目标程序,也就是机器语言。
编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来
将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。
解释型编译程序将高级语言程序的一个语句,先解释成为一组机器语言的指令,
然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序
止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的对话,随时
可以修改高级语言的程序。BASIC语言就是解释型高级语言。编译型编译程序将
级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快,
在过程中,不能进行人机对话修改。FORTRAN语言就是编译型高级语言。 编译过程中可进行的优化如何分类?
答案:
依据优化所涉及的程序范围,可以分为:局部优化、循环优化和全局优化。 词法分析
词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则
从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位,
并转换成统一的内部表示(token),送给语法分析程序。 从优化的范围的角度,优化可以分哪两类?对循环的优化可以有哪三种?
答:从优化的范围的角度,优化可以分为局部优化和全局优化两类;
对循环的优化有三种:循环不变表达式外提、归纳变量删除与计算强
度削减。 对下列错误信息,请指出可能是编译的哪个阶段(词法分析、语法分析、语义分析、
代码生成)报告的。
(1) else 没有匹配的if
(2) 数组下标越界
(3) 使用的函数没有定义
(4) 在数中出现非数字字符
答案:
(1) 语法分析
(2) 语义分析
(3) 语法分析
(4) 词法分析 何谓代码优化?进行优化所需要的基础是什么?
答案:
对代码进行等价变换,使得变换后的代码运行结果与变换前代码运行结果相同,而运行
速度加快或占用存储空间减少,或两者都有。优化所需要的基础是在中间代码生成之后或目标代码生成之后。
何谓翻译程序、编译程序和解释程序?
答案:
翻译程序是指将用某种语言编写的程序转换成另一种语言形式的程序的程序,如编译程
序和汇编程序等。
编译程序是把用高级语言编写的源程序转换(加工)成与之等价的另一种用低级语言编
写的目标程序的翻译程序。
解释程序是解释、执行高级语言源程序的程序。 划分程序的基本块时,确定基本块的入口语句的条件是什么?
答:程序第一个语句,或能由条件转移语句或无条件转移语句转移到的语句,或紧跟在条件转移语句后面的语句。 计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?
答案:
计算机执行用高级语言编写
文档评论(0)