西安交通大学16年9月课程考试《编译原理》作业考核试题答案
西安交通大学16年9月课程考试《编译原理》作业考核试题答案

西安交通大学16年9月课程考试《编译原理》作业考核试题1:Chomsky把文法分成四种类型,其中,()也称正规文法A:0型B:1型C:2型D:3型正确答案:D2:()语言具有这样的特点:没有分程序结构;过程定义不允许嵌套;允许过程嵌套定义。
A:FortranB:PascalC:CD:都不正确答案:C3:高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析法。
A:自左至右B:自顶向下C:自底向上D:自右向左正确答案:B4:构造编译程序应掌握()。
A:源程序B:目标语言C:编译方法D:以上三项都是正确答案:D5:编译程序绝大多数时间花在()上。
A:出错处理B:词法分析C:目标代码生成D:管理表正确答案:D6:在自顶向下的语法分析方法中,分析的关键是( )A:寻找句柄B:寻找句型C:消除递归D:选择候选式正确答案:C7:两个有穷自动机等价是指它们的( )。
A:状态数相等B:有向弧数相等C:所识别的语言相等D:状态数和有向弧数相等正确答案:C8:把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。
A:编译器B:汇编器C:解释器D:预处理器正确答案:B9:编译原理各阶段工作都涉及( )A:词法分析B:表格管理C:语法分析D:语义分析正确答案:B10:Pascal中过程说明的局部变量地址分配在()。
A:调用者的数据区中B:被调用者的数据区中C:主程序的数据区中D:公共数据区中正确答案:B11:按逻辑上划分,编译程序第三步工作是( )A:语义分析B:词法分析C:语法分析D:代码生成正确答案:A12:一个( )指明了在分析过程中的某时刻所能看到产生式多大一部分。
A:活前缀B:前缀C:项目D:项目集正确答案:C13:( )是一种典型的解释型语言。
A:BASICB:CC:FORTRAND:PASCAL正确答案:A14:( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。
西交《编译原理》在线作业.15B7A183-C781-47BF-A844-7163C8D8D36D(总16页)

西交《编译原理》在线作业( )是一种典型的解释型语言。
A:BASIC
B:C
C:FORTRAN
D:PASCAL
答案:A
算符优先分析法每次都是对( )进行归约:
A:句柄
B:最左素短语
C:素短语
D:简单短语
答案:B
不是编译程序的组成部分。
A:词法分析程序
B:代码生成程序
C:设备管理程序
D:语法分析程序
答案:C
构造编译程序应掌握()。
A:源程序
B:目标语言
C:编译方法
D:其他三项都是
答案:D
Pascal的if语句满足( )。
A:最远匹配原则
B:动态作用域规则
C:静态作用域规则
D:最近匹配原则
答案:D
语义分析与中间代码产生所依循的是( )。
A:正规式
B:上下文无关文法。
编译原理试题参考答案

编译原理试题参考答案编译原理试题参考答案编译原理是计算机科学中的一门重要课程,它研究的是将高级语言源代码转换成机器语言的过程。
在学习编译原理的过程中,试题是一种常见的考核方式。
下面是一些编译原理试题的参考答案,希望对大家的学习有所帮助。
1. 什么是编译器?编译器是一种将高级语言源代码转换成机器语言的程序。
它包括了词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成等多个阶段。
编译器的主要作用是将高级语言源代码转换成可执行的机器语言程序。
2. 什么是词法分析?词法分析是编译器的第一个阶段,它将源代码分解成一个个的词法单元,比如关键字、标识符、常量和运算符等。
词法分析器通常使用有限自动机来实现,它可以根据事先定义好的词法规则来识别源代码中的词法单元。
3. 什么是语法分析?语法分析是编译器的第二个阶段,它将词法分析得到的词法单元组织成一个语法树。
语法分析器通常使用上下文无关文法来描述语法规则,并通过递归下降、LL(1)分析或LR分析等算法来进行语法分析。
4. 什么是语义分析?语义分析是编译器的第三个阶段,它对语法树进行语义检查和语义规则的处理。
语义分析器通常会进行类型检查、符号表管理和语义规则的处理,以确保源代码的语义正确性。
5. 什么是中间代码生成?中间代码生成是编译器的第四个阶段,它将语法树转换成一种中间表示形式,比如三地址码、虚拟机代码或抽象语法树。
中间代码是一种与具体机器无关的表示形式,它方便后续的代码优化和目标代码生成。
6. 什么是代码优化?代码优化是编译器的第五个阶段,它通过对中间代码的分析和变换,来改进程序的执行效率和资源利用率。
代码优化的目标是在保持程序语义不变的前提下,尽可能地减少程序的执行时间和资源消耗。
7. 什么是目标代码生成?目标代码生成是编译器的最后一个阶段,它将中间代码转换成目标机器的机器语言程序。
目标代码生成器通常会进行寄存器分配、指令选择和指令调度等操作,以生成高效的目标代码。
《编译原理》作业参考答案

《编译原理》作业参考答案一、填空1.图二图一。
2.文法是无ε产生式,且任意两个终结符之间至多有一种优先关系的算符文法。
3.最右推导最右推导。
4.对于循环中的有些代码,如果它产生的结果在循环中是不变的,就把它提到循环外来。
把程序中执行时间较长的运算替换为执行时间较短的运算。
5.对于文法中的每个非终结符A的各个产生式的候选首符集两两不相交;对文法中的每个非终结符A,若它存在某个候选首符集包含ε,则FIRST(A)∩FOLLOW(A)= ø6.控制。
7.语义分析和中间代码产生8.自上而下自下而上自上而下9.自下而上表达式10.自下而上11.源程序单词符号12. DFA初态唯一,NFA初态不唯一;DFA弧标记为Σ上的元素,NFA弧标记为Σ*上的元素;DFA的函数为单射,NFA函数不是单射13.词法,词法分析器,子程序,语法14.ε,a,ab,ab15.终结符号,非终结符号,产生式16.L(G)={a n | n≥1}17.1型,2型,3型18.二义的19.快20.终态,输入字21.单词符号,终结符22.归约23.必须24.直接25.终结符,更快26.E→E+∙T, E→E∙+T, E→∙E+T, E→E+T∙27.归约—归约28.类型检查,一致性检查29.词法分析、词法30.语法分析程序、语法31。
终结符号、产生式、开始符号、非终结符32.2、2、333.不需要避开34.符合、不符合35.推导36.包括37.Ass38.一定没有、一定没有、至多只有一个39.SLR(1)40.移进——归约41.a.控制流检查、b.一致性检查、c.相关名字检查二、判断下面语法是否正确1 ×2 ×3 √4 ×5 √6 ×三、简答题1.词法分析的任务是对输入的源程序进行单词及其属性的识别,为下一步的语法分析进行铺垫;有两种方法可以实现词法分析器:一,手工编写词法分析程序。
二,由词法分析器自动生成程序生成。
【参考借鉴】编译原理-作业答案.docx

《编译原理》第一次作业参考答案一、下列正则表达式定义了什么语言(用尽可能简短的自然语言描述)?1.bR(abRabR)R所有含有偶数个a的由a和b组成的字符串.2.cRa(a|c)Rb(a|b|c)R|cRb(b|c)Ra(a|b|c)R答案一:所有至少含有1个a和1个b的由a,b和c组成的字符串.答案二:所有含有子序列ab或子序列ba的由a,b和c组成的字符串.说明:答案一要比答案二更好,因为用自然语言描述是为了便于和非专业的人员交流,而非专业人员很可能不知道什么是“子序列”,所以相比较而言,答案一要更“自然”.二、设字母表∑={a,b},用正则表达式(只使用a,b, ,|,R,+,?)描述下列语言:1.不包含子串ab的所有字符串.bRaR2.不包含子串abb的所有字符串.bR(ab?)R3.不包含子序列abb的所有字符串.bRaRb?aR注意:关于子串(substring)和子序列(subsequence)的区别可以参考课本第119页方框中的内容.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~《编译原理》第二次作业参考答案一、考虑以下NFA:1.这一NFA接受什么语言(用自然语言描述)?所有只含有字母a和b,并且a出现偶数次或b出现偶数次的字符串.2.构造接受同一语言的DFA.答案一(直接构造通常得到这一答案):答案二(由NFA构造DFA得到这一答案):二、正则语言补运算3.画出一个DFA,该DFA恰好识别所有不含011子串的所有二进制串.1.画出一个DFA,该DFA恰好识别所有不含011子串的所有二进制串.规律:构造语言L的补语言L’的DFA,可以先构造出接受L的DFA,再把这一DFA的接受状态改为非接受状态,非接受状态改为接受状态,就可以得到识别L’的DFA.说明:在上述两题中的D状态,无论输入什么符号,都不可能再到达接受状态,这样的状态称为“死状态”.在画DFA时,有时为了简明起见,“死状态”及其相应的弧(上图中的绿色部分)也可不画出.2.再证明:对任一正则表达式R,一定存在另一正则表达式R',使得L(R')是L(R)的补集.证明:根据正则表达式与DFA的等价性,一定存在识别语言L(R)的DFA.设这一DFA为M,则将M的所有接受状态改为非接受状态,所有非接受状态改为接受状态,得到新的DFAM’.易知M’识别语言L(R)的补集.再由正则表达式与DFA的等价性知必存在正则表达式R’,使得L(R’)是L(R)的补集.三、设有一门小小语言仅含z、o、/(斜杠)3个符号,该语言中的一个注释由/o开始、以o/结束,并且注释1.请给出单个正则表达式,它仅与一个完整的注释匹配,除此之外不匹配任何其他串.书写正则表达式时,要求仅使用最基本的正则表达式算子( ,|,R,+,?).参考答案一:/o(oRz|/)Ro+/思路:基本思路是除了最后一个o/,在注释中不能出现o后面紧跟着/的情况;还有需要考虑的是最后一个o/之前也可以出现若干个o.参考答案二(梁晓聪、梁劲、梁伟斌等人提供):/o/R(z/R|o)Ro/2.给出识别上述正则表达式所定义语言的确定有限自动机(DFA).你可根据问题直接构造DFA,不必运用机械的算法从上一小题的正则表达式转换得到DFA.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~《编译原理》第三次作业参考答案一、考虑以下DFA的状态迁移表,其中0,1为输入符号,A~H代表状态:其中A为初始状态,D为接受状态,请画出与此DFA等价的最小DFA,并在新的DFA状态中标明它对应的原DFA状态的子集.说明:有些同学没有画出状态H,因为无法从初始状态到达状态H.从实用上讲,这是没有问题的.不过,如果根据算法的步骤执行,最后是应该有状态H的.二、考虑所有含有3个状态(设为p,q,r)的DFA.设只有r是接受状态.至于哪一个状态是初始状态与本问题无关.输入符号只有0和1.这样的DFA总共有729种不同的状态迁移函数,因为对于每一状态和每一输入符号,可能迁移到3个状态中的一个,所以总共有3^6=729种可能.在这729个DFA中,有多少个p和q是不可区分的(indistinguishable)?解释你的答案.解:考虑对于p和q,在输入符号为0时的情况,在这种情况下有5种可能使p和q无法区分:p和q在输入0时同时迁移到r(1种可能),或者p和q在输入0时,都迁移到p或q(4种可能).类似地,在输入符号为1时,也有5种可能使p和q无法区分.如果再考虑r的迁移,r的任何迁移对问题没有影响.于是r在输入0和输入1时各有3种可能的迁移,总共有因此,总共有5R5R9=225个DFA,其中p和q是不可区分的.三、证明:所有仅含有字符a,且长度为素数的字符串组成的集合不是正则语言.证明:用反证法.假设含有素数个a的字符串组成的集合是正则语言,则必存在一个DFA接受这一语言,设此DFA为D.由于D 的状态数有限,而素数有无限多个,所以必存在两个不同的素数p和q(设p<q),使得从D的初始状态出发,经过p个a和q个a后到达同一状态s,且s为接受状态.由于DFA每一步的迁移都是确定的,所以从状态s 出发,经过(q-p)个a,只能到达状态s.考虑仅含有字母a,长度为p+p(q-p)的字符串T.T从初始状态出发,经过p个a到达状态s,再经过(q-p)个a 仍然到达s;同样,经过p(q-p)个a后仍然到达s.因此,从初始状态出发,经过p+p(q-p)个a后必然到达状态s.由于p+p(q-p)=p(q-p+1)是合数,而s为接受状态,因而得出矛盾.原命题得证.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~一、用上下文无关文法描述下列语言:1.定义在字母表∑={a,b}上,所有首字符和尾字符相同的非空字符串.S→aTa|bTb|a|bT→aT|bT|є说明:1.用T来产生定义在字母表∑={a,b}上的任意字符串;2.注意不要漏了单个a和单个b的情况.2.L={0i1j|i≤j≤2i且i≥0}.S→0S1|0S11|є3.定义在字母表∑={0,1}上,所有含有相同个数的0和1的字符串(包括空串).S→0S1|1S0|SS|є思路:分两种情况考虑.1)如果首尾字母不同,那么这一字符串去掉首尾字母仍应该属于我们要定义的语言,因此有S→0S1|1S0;2)如果首尾字母相同,那么这一字符串必定可以分成两部分,每一部分都属于我们要定义的语言,因此有S→SS.二、考虑以下文法:S→aABeA→Abc|bB→d1.用最左推导(leftmostderivation)推导出句子abbcde.S==>aABe==>aAbcBe==>abbcBe==>abbcde2.用最右推导(rightmostderivation)推导出句子abbcde.S==>aABe==>aAde==>aAbcde==>abbcde3.画出句子abbcde对应的分析树(parsetree).三、考虑以下文法:S→aSbS→aSS→1.这一文法产生什么语言(用自然语言描述)?所有n个a后紧接m个b,且n>=m的字符串.2.证明这一文法是二义的.对于输入串aab,有如下两棵不同的分析树3.写出一个新的文法,要求新文法无二义且和上述文法产生相同的语言.答案一:S→aSb|TT→aT|ε答案二:S→TS’T→aT|εS’→aS’b|ε~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~一、考虑以下文法:S→aTUV|bVT→U|UUU→ε|bVV→ε|cV写出每个非终端符号的FIRST集和FOLLOW集.FIRST(S)={a,b}FIRST(T)={є,b}FIRST(U)={є,b}FIRST(V)={є,c}FOLLOW(S)={$}FOLLOW(T)={b,c,$}FOLLOW(U)={b,c,$}FOLLOW(V)={b,c,$}二、考虑以下文法:S→(L)|aL→L,S|S1.消除文法的左递归.S→(L)|aL→SL’L’→,SL’|ε2.构造文法的LL(1)分析表.FIRST(S)={‘(‘,‘a’}FIRST(L)={‘(‘,‘a’}FIRST(L’)={‘,’,ε}FOLLOW(S)={‘$’,‘,’,‘)’}FOLLOW(L)={‘)’}FOLLOW(L’)={‘)’}3.三、考虑以下文法:S→aSbS|bSaS|ε这一文法是否是LL(1)文法?给出理由.这一文法不是LL(1)文法,因为S有产生式S→ε,但FIRST(S)={a,b,ε},FOLLOW(S)={a,b},因而FIRST(S)∩FOLLOW(S)≠∅.根据LL(1)文法的定义知这一文法不是LL(1)文法.~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~一、考虑以下文法:(0)E’→E(1)E→E+T(2)E→T(3)T→TF(4)T→F(5)F→FR(6)F→a(7)F→b1. 写出每个非终端符号的FIRST集和FOLLOW集.FIRST(E’)=FIRST(E)=FIRST(T)=FIRST(F)={a,b}FOLLOW(E’)={$}FOLLOW(E)={+,$}FOLLOW(T)={+,$,a,b}FOLLOW(F)={+,R,$,a,b}2. 构造识别这一文法所有活前缀(viableprefiRes)的LR(0) 自动机(参照课本4.6.2节图4.31).~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~~\(≧▽≦)/~《编译原理》第八次作业参考答案最终答案:34二、以下文法定义了二进制浮点数常量的语法规则:S→L.L|LL→LB|BB→0|1试给出一个S属性的语法制导定义,其作用是求出该二进制浮点数的十进制值,并存放在开始符号S相关联的一个综合属性value中。
西安交通大学18年9月课程考试《编译原理》作业考核试题

(单选题) 1: 编译过程中,语法分析器的任务就是( )A: 分析单词是怎样构成的B: 分析单词串是如何构成语句和说明的C: 分析语句和说明是如何构成程序的D: 分析程序的结构正确答案:(单选题) 2: 算符优先分析法每次都是对________进行归约:A: 句柄B: 最左素短语C: 素短语D: 简单短语正确答案:(单选题) 3: 文法开始符号的所有________作为属性计算前的初始值。
A: 综合属性B: 继承属性C: 继承属性和综合属性D: 都不是正确答案:(单选题) 4: 乔姆斯基(Chomsky)把文法分为四种类型,即0型.1型.2型.3型。
其中3型文法是( ) A: 非限制文法B: 正则文法C: 上下文有关文法D: 上下文无关文法正确答案:(单选题) 5: Pascal中过程说明的局部变量地址分配在()。
A: 调用者的数据区中B: 被调用者的数据区中C: 主程序的数据区中D: 公共数据区中正确答案:(单选题) 6: 不是编译程序的组成部分。
A: 词法分析程序B: 代码生成程序C: 设备管理程序D: 语法分析程序正确答案:(单选题) 7: 教材介绍了三种符号表的构造和处理方法,其中________中常把符号表组织成二叉树形式。
A: 线性组织;B: 排序组织和二分法;C: 杂凑(散列)组织;D: 非线性组织正确答案:(单选题) 8: 数组的内情向量中肯定不含数组的()信息A: 维数B: 类型C: 各维的上下界D: 各维的界差正确答案:(单选题) 9: 在LR(0)的ACTION子表中,如果某一行中存在标记“rj”的栏,则( )。
A: 该行必定填满rjB: 该行未填满rjC: 其他行也有rj正确答案:(单选题) 10: 如果一个编译程序能产生不同于其宿主机的机器代码,则称它为( )A: 诊断编译程序B: 优化编译程序C: 交叉编译程序D: 可变目标编译程序正确答案:(单选题) 11: 在使用高级语言编程时,首先可通过编译程序发现源程序的全部和部分( )错误。
编译原理试卷参考答案练习题

编译原理试卷参考答案练习题1-01.编译程序的工作过程一般可以划分为_ __等几个基本阶段,同时还会伴有_ __和 .1-02.若源程序是用高级语言编写的,目标程序是__ __,则其翻译程序称为编译程序.1-03.编译方式与解释方式的根本区别在于_ _.1-04.翻译程序是这样一种程序,它能够将__ ___转换成与其等价的__ __.1-05.对编译程序而言,输入数据是__ __,输出结果是 __ __.1-06.如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:_ __和__ __.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为三个阶段: _ __,_ ___和_ __ .1-07.一个典型的编译程序中,不仅包括_ __等五个部分,还应包括_ __和_ __。
其中,词法分析器用于识别_ __。
1-08.如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分为三个阶段: _ ,汇编阶段和运行阶段。
1-09.编译方式与解释方式的根本区别为是否 _ 。
2-01.所谓最右推导是指:。
2-02.一个上下文无关文法所含四个组成部分是。
2-03.产生式是用于定义的一种书写规则。
2-04.设G[S]是给定文法,则由文法G所定义的语言L(G)可描述为:。
2-05.设G是一个给定的文法,S是文法的开始符号,如果S x(其中x∈V*),则称x是文法的一个。
2-06.设G是一个给定的文法,S 是文法的开始符号,如果S x(其中x∈V T*),则称x是文法的一个。
3-01.扫描器的任务是从源程序中识别出一个个。
4-01.语法分析最常用的两类方法是_ __和_ __分析法。
4-02.语法分析的任务是识别给定的终极符串是否为给定文法的_。
4-03.递归下降法不允许任一非终极符是直接 _递归的。
4-04.自顶向下的语法分析方法的关键是 _ 的问题。
4-05.递归下降分析法是自 _ 分析方法。
完整word版编译原理考试试题及答案

完整word版编译原理考试试题及答案《编译原理》考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。
( X )2.一个句型的直接短语是唯一的。
( X )3.已经证明文法的二义性是可判定的。
( X )4.每个基本块可用一个DAG表示。
(√)5.每个过程的活动记录的体积在编译时可静态确定。
(√)6.2型文法一定是3型文法。
( x )7.一个句型一定句子。
( X )8.算符优先分析法每次都是对句柄进行归约。
(应是最左素短语) ( X )9.采用三元式实现三地址代码时,不利于对中间代码进行优化。
(√)10.编译过程中,语法分析器的任务是分析单词是怎样构成的。
( x )11.一个优先表一定存在相应的优先函数。
( x )12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
( )13.递归下降分析法是一种自下而上分析法。
( )14.并不是每个文法都能改写成LL(1)文法。
( )15.每个基本块只有一个入口和一个出口。
( )16.一个LL(1)文法一定是无二义的。
( )17.逆波兰法表示的表达试亦称前缀式。
( )18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
( )19.正规文法产生的语言都可以用上下文无关文法来描述。
( )20.一个优先表一定存在相应的优先函数。
( )21.3型文法一定是2型文法。
( )22.如果一个文法存在某个句子对应两棵不同的语法树,则文法是二义性的。
( )二、填空题:1.( 最右推导 )称为规范推导。
2.编译过程可分为(词法分析),(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。
3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是()。
4.从功能上说,程序语言的语句大体可分为()语句和()语句两大类。
5.语法分析器的输入是(),其输出是()。
6.扫描器的任务是从()中识别出一个个()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安交通大学16年9月课程考试《编译原理》作业考核试题1:Chomsky把文法分成四种类型,其中,()也称正规文法A:0型B:1型C:2型D:3型正确答案:D2:()语言具有这样的特点:没有分程序结构;过程定义不允许嵌套;允许过程嵌套定义。
A:FortranB:PascalC:CD:都不正确答案:C3:高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析法。
A:自左至右B:自顶向下C:自底向上D:自右向左正确答案:B4:构造编译程序应掌握()。
A:源程序B:目标语言C:编译方法D:以上三项都是正确答案:D5:编译程序绝大多数时间花在()上。
A:出错处理B:词法分析C:目标代码生成D:管理表正确答案:D6:在自顶向下的语法分析方法中,分析的关键是( )A:寻找句柄B:寻找句型C:消除递归D:选择候选式正确答案:C7:两个有穷自动机等价是指它们的( )。
A:状态数相等B:有向弧数相等C:所识别的语言相等D:状态数和有向弧数相等正确答案:C8:把汇编语言程序翻译成机器可执行的目标程序的工作是由( )完成的。
A:编译器B:汇编器C:解释器D:预处理器正确答案:B9:编译原理各阶段工作都涉及( )A:词法分析B:表格管理C:语法分析D:语义分析正确答案:B10:Pascal中过程说明的局部变量地址分配在()。
A:调用者的数据区中B:被调用者的数据区中C:主程序的数据区中D:公共数据区中正确答案:B11:按逻辑上划分,编译程序第三步工作是( )A:语义分析B:词法分析C:语法分析D:代码生成正确答案:A12:一个( )指明了在分析过程中的某时刻所能看到产生式多大一部分。
A:活前缀B:前缀C:项目D:项目集正确答案:C13:( )是一种典型的解释型语言。
A:BASICB:CC:FORTRAND:PASCAL正确答案:A14:( )这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。
A:存在B:不存在C:无法判定是否存在D:以上都不正确正确答案:B15:现代多数实用编译程序所产生的目标代码都是一种可重定位的指令代码,在运行前必须借助于一个()把各个目标模块,包括系统提供的库模块连接在一起,确定程序变量或常数在主存中的位置,装入内存中制定的起始地址,使之成为一个可运行的绝对指令代码的程序。
A:重定位程序B:解释程序C:连接装配程序D:诊断程序正确答案:C16:程序基本块是指()。
A:一个子程序B:一个仅有一个入口和一个出口的语句C:一个没有嵌套的程序段D:一组顺序执行的程序段,仅有一个入口和一个出口正确答案:D17:与(a|b)*(a|b)等价的正规式是( )。
A:a*|b*B:(ab)*(a|b)C:(a|b)(a|b)*D:(a|b)*正确答案:C18:通常一个编译程序中,不仅包含词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成等六个部分,还应包括( )。
A:模拟执行器B:解释器C:表格处理和出错处理D:符号执行器正确答案:C19:正则表达式R1和R2等价是指( )A:R1和R2都是定义在一个字母表上的正则表达式B:R1和R2中使用的运算符相同C:R1和R2代表同一正则集D:R1和R2代表不同正则集正确答案:C20:程序语言的单词符号一般可以分为5种,下面()不需要超前搜索。
A:关键字B:标识符C:常数D:算符和界符正确答案:D21:词法分析器的输入是()。
A:单词符号串B:源程序C:语法单位D:目标程序正确答案:B22:词法分析器的输出结果是( )。
A:单词自身值B:单词在符号表中的位置C:单词的种别编码D:单词的种别编码和自身值正确答案:D23:文法开始符号的所有()作为属性计算前的初始值。
A:综合属性B:继承属性C:继承属性和综合属性D:都不是正确答案:B24:自上而下分析面临的四个问题中,不包括()。
A:需消除左递归B:存在回朔C:虚假匹配D:寻找可归约串正确答案:D25:语法分析应遵循()。
A:语义规则B:语法规则C:构词规则D:等价变换规则正确答案:C26:()不是编译程序的组成部分。
A:词法分析程序B:代码生成程序C:设备管理程序D:语法分析程序正确答案:C27:()不可能是目标代码。
A:汇编指令代码B:可重定位指令代码C:绝对指令代码D:中间代码正确答案:D28:在目标代码生成阶段,符号表用于( )。
A:目标代码生成B:语义检查C:语法检查D:地址分配正确答案:D29:文法G产生的( )的全体是该文法描述的语言。
A:句型B:终结符集C:非终结符集D:句子正确答案:D30:文法S→aaS|abc定义的语言是( )。
A:{a2kbc|k>0}B:{akbc|k>0}C:{a2k-1bc|k>0}D:{akakbc|k>0}正确答案:C31:非终结符除综合属性,还有其他属性。
( ) A:错误B:正确32:对于每一个左线性文法G1,都存在一个右线性文法G2,使得L(G1)=L(G2)。
( )A:错误B:正确正确答案:B33:窥孔优化方法是通过考察一小段目标指令,并把这些指令替换为更短和更快的一段指令,从而提高目标代码的质量。
( )A:错误B:正确正确答案:B34:对于每一个左线性文法G1,不一定存在一个右线性文法G2,使得L(G1)=L(G2)。
( )A:错误B:正确正确答案:A35:在自下而上的语法分析中,语法树与分析树一定相同。
( )A:错误B:正确正确答案:A36:变量既持有左值又持有右值,而常数和带有算符的表达式一般认为只持有右值。
( )A:错误B:正确正确答案:B37:复写传播的目的使对某些变量的赋值变为无用。
( )A:错误B:正确正确答案:B38:语法分析时必须先消除文法中的左递归。
( )A:错误B:正确正确答案:A39:编译前端主要由与源语言和目标机相关的那些部分组成。
()A:错误B:正确40:非终结符只有综合属性,由词法分析器提供。
( )A:错误B:正确正确答案:B41:一个文法所有句型的集合形成该文法所能接受的语言。
( )A:错误B:正确正确答案:A42:上下文无关文法比正规文法有更差的描述能力。
( )A:错误B:正确正确答案:A43:算符优先分析法不是一种规范规约法。
( )A:错误B:正确正确答案:B44:任何算符优先文法的句型中一定会有两个相邻的非终结符号。
( )A:错误B:正确正确答案:A45:二义文法是上下文无关文法。
( )A:错误B:正确正确答案:B46:确定的自动机以及不确定的自动机都不能正确地识别正规集。
( )A:错误B:正确正确答案:A47:一个有限状态自动机中,有且仅有一个唯一终态。
( )A:错误B:正确正确答案:A48:优化的任务在于对前端编译所产生的中间代码进行加工和变换,以其能产生运行结果更为准确的目标代码。
( )A:错误B:正确正确答案:A49:正规文法产生的语言都不可以用上下文无关文法来描述。
( )A:错误B:正确正确答案:A50:任何一种算法,不能判定任何上下文无关文法是否是LL(1)的。
( )A看似短暂的一生,其间的色彩,波折,却是纷呈的,深不可测的,所以才有人拼尽一切阻隔,在路漫漫中,上下而求索。
不管平庸也好,风生水起也罢,其实谁的人生不是顶着风雨在前行,都在用平凡的身体支撑着一个看不见的灵魂?有时候行到风不推身体也飘摇,雨不流泪水也湿过衣衫,而让我们始终坚持的除了一份信念:风雨总会过去,晴朗总会伴着彩虹挂在天边。
一定还有比信念还牢固的东西支撑着我们,那就是流动在心底的爱,一份拳拳之爱,或许卑微,却是我们执著存在这个世界上,可以跨越任何险阻的勇气、力量和最美丽的理由。
人生的途程积累了一定的距离,每个人都成了哲学家。
因为生活会让我们慢慢懂得:低头是为了抬头,行走是为了更好地休憩,不阅尽沧桑怎会大度,没惯见成败怎会宠辱不惊,不历经纠结怎会活得舒展?看清才会原谅,有时的无动于衷,不是不屑,不是麻木,而是不值得。
有时痛苦,不是怕失去,不是没得到,而是因为自私,不肯放手,不是自己的,也不想给。
人生到最后,有的人把自己活成了富翁,有的人却一无所有。