编译原理简答题.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文档。上传文档
查看更多
编译原理简答题

第二章 词法记号:是由记号名和属性值构成的二元组,属性值有时不必要。记号名是代表一类词法单元的抽象名字。 模式:记号的模式描述属于该记号的词法单元的形式。在一个关键字作为一个记号的情况下,它的模式就是构成该关键字的字符序列。 词法单元:又称单词,是源程序中匹配一个记号模式的字符序列,它由词法分析器标识该记号的实例。 正规表达式是按照一组定义规则,由简单的正规式构成的,每个正规式r表示一个语言L(r)。这些定义规则说明L(r)是怎样从r的正规式所表示的语言中构造出来的 第三章 一个上下文无关文法(Context-Free Grammar) G是一个四元组(VT,VN,S,P), 其中 VT是一个非空有限集,它的每个元素称为终结符号; VN是一个非空有限集,它的每个元素称为非终结符号,VT∩VN=φ; S是一个非终结符号,称为开始符号; ρ是一个产生式集合(有限),每个产生式的形式是P→α,其中,P∈VN, α∈(VT∪VN)* 。开始符号S至少必须在某个产生式的左部出现一次。 文法的优点 接收词法分析器提供的记号串 检查记号串是否能由源程序语言的文法产生 用易于理解的方式提示语法错误信息,并能从常见的错误中恢复过来 LR分析方法的特点 栈中的文法符号总是形成一个活前缀 分析表的转移函数本质上是识别活前缀的DFA 栈顶的状态符号包含了确定句柄所需要的一切信息 是已知的最一般的无回溯的移进--归约方法 能分析的文法类是预测分析法能分析的文法类的真超集 第四章 语法制导的定义是对上下文无关文法的推广,其中每个文法符号都有一个相关的属性集。 属性分为综合属性(synthesized attribute)和继承属性(inherited attribute) L-属性定义:一个语法制导定义,如果对于每个产生式A?X1X2...Xn,其每个语义规则中的每个属性或者是综合属性,或者是Xj(1?j?n)的一个继承属性且这个继承属性仅依赖于: (1) 产生式Xj的左边符号X1,X2,...Xj-1的属性 (2) A的继承属性 翻译方案:和文法符号相关的属性和语义规则,用花括号{}括起来,插入到产生式的合适位置上。 构造翻译方案的规则 如果语义规则中只有综合属性 为每个语义规则建立一个包含赋值的动作,并把这个动作放在相应产生式右边的末尾 如果语义规则中既有综合属性又有继承属性 产生式右边的符号的继承属性必须在这个符号以前的动作中计算出来 一个动作不能引用这个动作右边的符号的综合属性 产生式左边非终结符的综合属性只有在它所引用的所有属性都计算出来以后才能计算。计算这种属性的动作通常可放在产生式右端的末尾 第六章 设计原则 调用者和被调用者之间交流的数据一般放在被调用者活动记录的开始处,并尽可能靠近调用者的活动记录 固定长度的项通常放在活动记录的中间,一般包括控制链、访问链和机器状态域 在编译时不能及时知道大小的一些项放在活动记录的末端 参数传递: 左值:表达式所表示的存储单元 右值:这个存储单元中所存的值 实参的正文本身 值调用:值调用的显著特征是对形参的运算不影响调用者活动记录中的值 引用调用:当参数通过引用(也叫做地址调用或传位置调用)传递时,调用过程把实参存储单元的地址传递给被调用过程: 如果实参是有左值的名字或表达式,则传递这个左值本身 如果实参是a+b或2这样的表达式,它没有左值,则计算该表达式的值并存储新的存储单元,然后传递这个单元的地址 换名调用:过程被看作宏;也就是说,在调用过程中将调用替换为被调用过程的过程体,但要把任何一个出现的形式参数都文字地替换为相应的实在参数(宏扩展) 被调用过程中的局部名字要保持与调用过程中的名字不同,因此可以考虑在进行宏扩展以前,将被调用过程中的每一个名字都系统地给以重新命名 如果需要保持实参的完整性,可以把实参用圆括号括起来 第七章 采用中间语言的优点: 重置目标(retargeting)比较容易 可以在中间表示上应用与机器无关的代码优化器 中间语言: 后缀式 图形表示法:语法树、DAG图表示 三地址代码:三元式、四元式、间接三元式 静态单赋值形式 第八章 目标程序 可执行目标模块 可重定位目标模块 允许程序模块分别编译 调用其它先前编译好的程序模块 汇编语言程序 免去编译器重复汇编器的工作 从教学角度,增加可读性 第九章 优化种类:删除公共子表达式、复写传播、删除死代码、代码外提、强度削弱和归纳变量删除

文档评论(0)

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

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

1亿VIP精品文档

相关文档