




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编译技术考试试题及答案一、 填空题(每空1分,共20分)1编译过程一般分为 、 、中间代码生成、 和目标代码生成五个阶段。2语法分析最常用的两类方法是 和 分析法。3确定的有穷自动机是一个 ,通常表示为 。4所谓最右推导是指 。5语法分析器的任务是 。6如果一个文法的任何产生式的右部都不含有 的非终结符,则这种文法称为 文法。7进行确定的自上而下语法分析要求语言的文法是无 和 的。8LR分析法是一种 的语法分析方法。9根据优化对象所涉及的程序范围,代码优化分为 、 和 等。10常用的优化技术包括: 、 、强度削弱、复写传播、 等。二、 是非题(下列各题,你认为正确的,请在题后的括号内打“ ”,错的打“”。每题2分,共20分)1正规文法产生的语言都可以用上下文无关文法来描述。 ( )2仅考虑一个基本块,不能确定一个赋值是否真是无用的。 ( )3如果一个文法是递归的,则其产生的语言的句子是无穷个。 ( )4四元式之间的联系是通过符号表实现的。 ( )5文法的二义性和语言的二义性是两个不同的概念。 ( )6一个LL( l)文法一定是无二义的。 ( )7在规范规约中用最左素短语来刻划可归约串。 ( )8目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )9编译程序是对汇编程序的翻译。 ( )10逆波兰法表示的表达式亦称前缀式。 ( ) 三、 简答题(每题5分,共15分)1、简述栈式存储管理策略; 2、何谓DAG; 3、何谓文法的二义性;四、 给出下述文法对应的正规式 (7分)S 0A| 1BA1S | 1B0S | 0五、 已知文法G(E):ET | E+T | E-TTF | T*F | T/FF(E) | i证明E+T*F是该文法的一个句型,并指出该句型的所有短语、直接短语和句柄。(8分)六、 设有文法GS:S aBc|bABA aAb|bB b|构造其LL(1)分析表,并分析符号串baabbb是否是该文法的句子. (10分)七、 设有文法GE:E (E) | 试判断该文法是否为SLR(1)文法,若不是,请说明理由;若是请构造SLR(1)分析表。(10 分)八、 假设可用寄存器为R0和R1,试写出下列四元式序列对应的目标代码。(10分)T1=B-CT2=A*T1 T3=D+1 T4=E-F T5=T3*T4 参考答案 一、填空题(1X20=20分)1 词法分析、语法分析、代码优化2 自上而下、自下而上3 五元组、DFA=(K , , M, S, Z)4 任何一步都是对中最右非终结符进行替换5 分析一个文法的句子结构6 相邻、算符7 左递归、公共左因子8 自下而上9 局部优化、循环优化、局部优化10 删除公共子表达式、代码外提、变换循环控制条件、合并已知量、删除无用赋值(任选3个) 二、是非题(2X10=20分)1、 2、 3、 4、 5、 6、 7、 8、 9、 10、三、简答题(见书中相应部分)(5X3=15 分)四、解:首先得正规式方程组: S=0A+1B A=1S+1 B=0S+0 求解该方程组得:S=(01|10)(01|10)* (8分)五、解 (2分) 是文法GS的句型。 短语:E+T*F, T*F (2分) 直接短语:T*F (2分) 句柄:T*F (2分)六、解:、因为FOLLOW(B)=FIRST(c)FOLLOW(S)=c,#(2分), 所以构造文法GS的LL(1)分析表(5)如下:aBc#SaBcbABAaAbbBb符号串baabbb是该文法的句子(3分)(分析过程略)。七 (2 分) 所以该文法为SLR(1)文法。其分析表如下:(8分)状态ACTIONGOTO()#E0S2r2r211acc2S2r2r233S44r1r1八、 目标代码为: (10分) LD R0,B SUB R0,C LD R1,A MUL R1,R0 LD R0,D ADD R0,1 ST R1,M LD R1,E SUB R0,F MUL R0,R1 LD R1,M DIV R1,R0 ST R1,W习题一、单项选择题1、将编译程序分成若干个“遍”是为了 。 a提高程序的执行效率 b使程序的结构更加清晰 c利用有限的机器内存并提高机器的执行效率 d利用有限的机器内存但降低了机器的执行效率2、构造编译程序应掌握 。 a源程序b目标语言 c编译方法d以上三项都是3、变量应当 。 a持有左值b持有右值 c既持有左值又持有右值d既不持有左值也不持有右值 4、编译程序绝大多数时间花在 上。 a出错处理b词法分析 c目标代码生成d管理表格5、 不可能是目标代码。 a汇编指令代码b可重定位指令代码 c绝对指令代码d中间代码6、使用 可以定义一个程序的意义。 a语义规则b词法规则 c产生规则d词法规则7、词法分析器的输入是 。 a单词符号串b源程序 c语法单位d目标程序8、中间代码生成时所遵循的是- 。 a语法规则b词法规则 c语义规则d等价变换规则9、编译程序是对 。 a汇编程序的翻译b高级语言程序的解释执行 c机器语言的执行d高级语言的翻译10、语法分析应遵循 。 a语义规则b语法规则 c构词规则d等价变换规则解答1、将编译程序分成若干个“遍”是为了使编译程序的结构更加清晰,故选b。2、构造编译程序应掌握源程序、目标语言及编译方法等三方面的知识,故选d。3、对编译而言,变量既持有左值又持有右值,故选c。4、编译程序打交道最多的就是各种表格,因此选d。5、目标代码包括汇编指令代码、可重定位指令代码和绝对指令代码3种,因此不是目标代码的只能选d。6、词法分析遵循的是构词规则,语法分析遵循的是语法规则,中间代码生成遵循的是语义规则,并且语义规则可以定义一个程序的意义。因此选a。 7、b 8、c 9、d 10、c二、多项选择题1、编译程序各阶段的工作都涉及到 。 a语法分析b表格管理c出错处理 d语义分析e词法分析2、编译程序工作时,通常有 阶段。 a词法分析b语法分析c中间代码生成 d语义检查e目标代码生成解答1b、c 2. a、b、c、e三、填空题 1、解释程序和编译程序的区别在于 。2、编译过程通常可分为5个阶段,分别是 、语法分析 、代码优化和目标代码生成。3、编译程序工作过程中,第一段输入是 ,最后阶段的输出为 程序。4、编译程序是指将 程序翻译成 程序的程序。解答 是否生成目标程序 2、词法分析 中间代码生成 3、源程序目标代码生成4、源程序 目标语言一、单项选择题1、文法G:SxSx|y所识别的语言是 。a. xyxb. (xyx)*c. xnyxn(n0)d. x*yx*2、文法G描述的语言L(G)是指 。a. L(G)=|S+ , VT*b. L(G)=|S*, VT*c. L(G)=|S*,(VTVN*)d. L(G)=|S+ , (VTVN*)3、有限状态自动机能识别 。a. 上下文无关文法b. 上下文有关文法c.正规文法d. 短语文法4、设G为算符优先文法,G的任意终结符对a、b有以下关系成立 。a. 若f(a)g(b),则abb.若f(a)g(b),则ag)(b)或f(a)0c. anbmcmdn|n,m0d. anbncmdm|n,m0e. anbncndn|n05、自下而上的语法分析中,应从 开始分析。a. 句型b. 句子c. 以单词为单位的程序d. 文法的开始符e. 句柄6、对正规文法描述的语言,以下 有能力描述它。a.0型文法b.1型文法 c.上下文无关文法 d.右线性文法 e.左线性文法解答 1、e、a、c 2、a、c、e 3、b、c、d 4、a、c 5、b、c 6、a、b、c、d、e 三、填空题1、文法中的终结符和非终结符的交集是 。词法分析器交给语法分析器的文法符号一定是 ,它一定只出现在产生式的 部。2、最左推导是指每次都对句型中的 非终结符进行扩展。3、在语法分析中,最常见的两种方法一定是 分析法,另一是 分析法。4、采用 语法分析时,必须消除文法的左递归。5、 树代表推导过程, 树代表归约过程。6、自下而上分析法采用 、归约、错误处理、 等四种操作。 7、Chomsky把文法分为 种类型,编译器构造中采用 和 文法,它们分别产生 和 语言,并分别用 和 自动机识别所产生的语言。解答 1、空集 终结符 右 2、最左 3、自上而上 自下而上 4、自上而上 5、语法 分析 6、移进 接受 7、4 2 型 3型 上下文无关语言 正规语言 下推自动机 有限四、判断题1、文法 SaS|bR|描述的语言是(a|bc)* ( ) RcS2、在自下而上的语法分析中,语法树与分析树一定相同。 ( )3、二义文法不是上下文无关文法。 ( )4、语法分析时必须先消除文法中的左递归。( )5、规范归约和规范推导是互逆的两个过程。( )6、一个文法所有句型的集合形成该文法所能接受的语言。( )解答 1、对 2、错 3、错 4、错 5、错 6、错五、简答题1、句柄2、素短语3、语法树4、归约5、推导解答 1、句柄:一个句型的最左直接短语称为该句型的句柄。2、素短语:至少含有一个终结符的素短语,并且除它自身之外不再含任何更小的素短语。3、语法树:满足下面4个条件的树称之为文法GS的一棵语法树。每一终结均有一标记,此标记为VNVT中的一个符号;树的根结点以文法GS的开始符S标记;若一结点至少有一个直接后继,则此结点上的标记为VN中的一个符号;若一个以A为标记的结点有K个直接后继,且按从左至右的顺序,这些结点的标记分别为X1,X2,XK,则AX1,X2,XK,必然是G的一个产生式。4、归约:我们称直接归约出A,仅当A 是一个产生式,且、(VNVT)*。归约过程就是从输入串开始,反复用产生式右部的符号替换成产生式左部符号,直至文法开始符。5、推导:我们称A直接推出,即A,仅当A 是一个产生式,且、(VNVT)*。如果12n,则我们称这个序列是从1至2的一个推导。若存在一个从1n的推导,则称1可推导出n。推导是归约的逆过程。六、问答题1、给出上下文无关文法的定义。解答一个上下文无关文法G是一个四元式(VT,VN,S, P),其中:VT是一个非空有限集,它的每个元素称为终结符号;VN是一个非空有限集,它的每个元素称为非终结符号,VTVN=;S是一个非终结符号,称为开始符号;P是一个产生式集合(有限),每个产生式的形式是P,其中,PVN,(VTVN)*。开始符号S至少必须在某个产生式的左部出现一次。 2、文法GS: SaSPQ|abQ QPPQ bPbb bQbc cQcc(1)它是Chomsky哪一型文法?(2)它生成的语言是什么?解答 (1)由于产生式左部存在终结符号,且所有产生式左部符号的长度均小于等于产生式右部的符号长度,所以文法GS是Chomsky1型文法,即上下文有关文法。(2)按产生式出现的顺序规定优先级由高到低(否则无法推出句子),我们可以得到: SabQabc SaSPQaabQPQaabPQQaabbQQaabbcQaabbcc SaSPQaaSPQPQaaabQPQPQaaabPQQPQaaabPQPQQaaaPPQQQaaabbPqqqaaabbQQQaaabbbcQQaaabbbccQaaabbbccc 于是得到文法GS生成的语言L=anbncn|n13、按指定类型,给出语言的文法。L=aibj|ji1的上下文无关文法。【解答】(1)由L=aibj|ji1知,所求该语言对应的上下文无关文法首先应有SaSb型产生式,以保证b的个数不少于a的个数;其次,还需有SSb或SbS型的产生式,用以保证b的个数多于a的个数;也即所求上下文无关文法GS为:GS:SaSb|Sb|b4、有文法G:SaAcB|Bd AAaB|c BbScA|b(1)试求句型aAaBcbbdcc和aAcbBdcc的句柄;(2)写出句子acabcbbdcc的最左推导过程。【解答】(1)分别画出对应两句型的语法树,如图2-8-2所示句柄:AaB Bd 图2-8-2 语法树(2)句子acabcbbdcc的最左推导如下: SaAcBaAaBcBacaBcBacabcBacabcbScAacabcbBdcA acabcbbdcAacabcbbdcc 5、对于文法GS: S(L)|aS|a LL, S|S(1)画出句型(S,(a)的语法树。(2)写出上述句型的所有短语、直接短语、句柄和素短语。【解答】(1)句型(S,(a)的语法树如图2-8-3所示(2)由图2-8-3可知:短语:S、a、(a)、S,(a)、(S,(a);直接短语:a、S;句柄:S;素短语:素短语可由图2-8-3中相邻终结符之间的优先关系求得,即;因此素短语为a。6、考虑文法GT:TT*F|FFFP|PP(T)|i证明T*P(T*F)是该文法的一个句型,并指出直接短语和句柄。【解答】首先构造T*P(T*F)的语法树如图2-8-4所示。由图2-8-4可知,T*P(T*F)是文法GT的一个句型。直接短语有两个,即P和T*F;句柄为P。一、单项选择题1、词法分析所依据的是 。a. 语义规则b. 构词规则c. 语法规则d. 等价变换规则2、词法分析器的输出结果是 。a. 单词的种别编码b. 单词在符号表中的位置c. 单词的种别编码和自身值d. 单词自身值3、正规式M1和M2等价是指 。a. M1和M2的状态数相等b. M1和M2的有向弧条数相等c. M1和M2所识别的语言集相等 d. M1和M2状态数和有向弧条数相等4、状态转换图(见图3-6-1)接受的字集为 。a. 以 0开头的二进制数组成的集合 b. 以0结尾的二进制数组成的集合c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合5、词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此, 。a. 词法分析器应作为独立的一遍 b. 词法分析器作为子程序较好c. 词法分析器分解为多个过程,由语法分析器选择使用 d. 词法分析器并不作为一个独立的阶段解答 1、b 2、c 3、c 4、d 5、b二、多项选择题1、在词法分析中,能识别出 。a. 基本字b. 四元式c. 运算符d. 逆波兰式e. 常数2、令=a,b,则上所有以b开头,后跟若干个ab的字的全体对应的正规式为 。a. b(ab)*b. b(ab)+c.(ba)*bd. (ba)+be. b(a|b)解答 1、a、c、e 2、a、b、d三、填空题1、确定有限自动机DFA是 的一个特例。2、若二个正规式所表示的 相同,则认为二者是等价的。3、一个字集是正规的,当且仅当它可由 所 。解答 1、NFA 2、正规集 3、DFA(NFA)所识别四、判断题1、一个有限状态自动机中,有且仅有一个唯一终态。( )2、设r和s分别是正规式,则有L(r|s)=L(r)|L(s)。( )3、自动机M和M的状态数不同,则二者必不等价。( )4、确定的自动机以及不确定的自动机都能正确地识别正规集。( )5、对任意一个右线性文法G,都存在一个NFA M,满足L(G)=L(M)。( )6、对任意一个右线性文法G,都存在一个DFA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药店日常活动方案
- 构造艺术考试题及答案
- 高中水平考试题及答案
- 幼儿园教学教案设计:病菌快走开卫生习惯情景模拟课
- 妇幼健康考试题及答案
- 物流运输计划模板含成本分析与时间规划
- 企业安全培训计划实施与记录表单安全生产标准规范版
- (正式版)DB15∕T 3666-2024 《灌木发酵饲料生产技术规程》
- (正式版)DB15∕T 3400-2024 《沿黄灌区盐碱地种植耐盐碱植物技术规程》
- (正式版)DB15∕T 3360-2024 《饲草大麦裹包青贮技术规程》
- 产品质量监督管理制度
- DB43-T 2724-2023 农村公路养护工程预算编制办法及定额
- CJ/T 480-2015高密度聚乙烯外护管聚氨酯发泡预制直埋保温复合塑料管
- 肥胖症诊疗指南(2024年版)解读
- 入股瑜伽店协议书
- 旅游团队境外医疗援助补充协议
- 联通智慧矿山协议合同
- 混凝土考试试题及答案
- 《小学交通安全教育》课件
- 四川省成都市2025届高三上学期第一次诊断性考试化学检测试卷(附答案)
- 2025报关单填制规范
评论
0/150
提交评论