版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
优质资料优质资料一、单项选择题1、将编译程序分成若干个“遍”是为了(B)人提高程序的执行效率B.使程序的结构更加清晰C利用有限的机器内存并提高机器的执行效率口.利用有限的机器内存但降低了机器的执行效率2、不可能是目标代码的是(D)A汇编指令代码8.可重定位指令代码C绝对指令代码口.中间代码3、词法分析器的输入是(B)A单词符号串 8.源程序C语法单位 口.目标程序4、编译程序中的语法分析器接受以 c为单位的输入,并产生有关信息供以后各阶段使用。可选项有:a、表达式匕、产生式c、单词d、语句5、高级语言编译程序常用的语法分析方法中,递归下降分析法属于b分析方法。可选项有:2、自左至右匕、自顶向下舱自底向上d、自右向左6、已知文法6旧:EfTE' E‘f+TE'le T-FT'T'-*FT’|e F-(E)Iid求:FOLLOW(F)=(1)d,FIRST(T’)=(2)b可选项有:a、1*,+}b、1*,£}c、1+,#,)}d、1*,+,#,)}e、1#,)}f、1*,+,#,id}7、中间代码生成时所遵循的是(C)^语法规则8.词法规则C语义规则D.等价变换规则8、编译程序是对(D)A.汇编程序的翻译 8.高级语言程序的解释执行0机器语言的执行口.高级语言的翻译9、词法分析应遵循(C)A.语义规则8.语法规则C.构词规则D.等价变换规则10、词法分析器的输出结果是(C)A.单词的种别编码 B.单词在符号表中的位置C.单词的种别编码和属性值D.单词属性值11、正规式M1和M2等价是指(C)A.M1和乂2的状态数相等B.M1和乂2的有向弧条数相等CM1和乂2所识别的语言集相等D.M1和乂2状态数和有向弧条数相等12、词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,(A)A.词法分析器应作为独立的一遍8.词法分析器作为子程序较好^词法分析器分解为多个过程,由语法分析器选择使用.口.词法分析器并不作为一个独立的阶段13、如果L(M1)=L(M2),则M1与M2(A)庆等价 8.都是二义的0都是无二义的口.它们的状态数相等14、文法6:5-*5刈旷所识别的语言是(C)A.xyxB.(xyx)* c.xnyxn(n^0) d.x*yx*15、文法6描述的语言1«)是指(A)A.L(G)=(a|SBa,aeV*1B.L(G)=(a|SBa,ae(VuV)*1C.L(G)=]a|SBa,aeV*j D.L(G)=]a|SBa,ae(VTuVN)*j16、有限状态自动机能识别(C)A.上下文无关文法 B.上下文有关文法0正规文法 口.短语文法17、编译过程中扫描器的任务包括d。①组织源程序的输入②按词法规则分割出单词,识别出其属性,并转换成属性字的形式输出③删除注解④删除空格及无用字符⑤行计数、列计数⑥发现并定位词法错误⑦建立符号表可选项有:a、②③④⑦b、②③④⑥⑦c、①②③④⑥⑦d、①②③④⑤⑥⑦18、正则式的“I”读作(1)b,“・”读作(2)3“*”读作(3^。可选项有:2、并且b、或者c、连接d、闭包19、b这样一些语言,它们能被确定的有穷自动机识别,但不能用正则表达式表示。可选项有:2、存在匕、不存在舱无法判定是否存在20、编译过程中,语法分析的任务是c。①分析单词是怎样构成的②分析单词是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构可选项有:a、②和③ b、④c、②③④d、①②③④21、语法分析的常用方法有b。①自顶向下②自底向上③自左向右④自右向左可选项有:a、①②③④b、①②c、③④d、①②③22、如果文法6是无二义的,则它的任何句子(A)庆最左推导和最右推导对应的语法树必定相同8.最左推导和最右推导对应的语法树可能不同0最左推导和最右推导必定相同口.可能存在两个不同的最左推导,但它们对应的语法树相同23、由文法的开始符经0步或多步推导产生的文法符号序列是(C)人.短语 8.句柄C句型口.句子24、文法6:£-£+口丁TT*P|PP-(E)|i则句型P+T+i的句柄为(B)A.P+TB.PC.P+T+iD.i25、文法G:S-b|A|(T)TTVS|S则FIRSTVT(T)=(C)A.{b,八,(}B.{b,八,)}C.{b,八,(,V} D,{b,A,),V}26、产生正规语言的文法为(D)A.0型B.1型C.2型D.3型27、任何算符优先文法(D)优先函数。A.有一个 8.没有 C.有若干个口.可能有若干个28、采用自上而下分析,必须(C)儿消除左递归 8.消除右递归0消除回溯 口,提取公共左因子29、素短语是指D的短语。①至少包含一个符号②至少包含一个终结符号③至少包含一个非终结符号④除自身外不再包含其他终结符号⑤除自身外不再包含其他非终结符号⑥除自身外不再包含其他短语⑦除自身外不再包含其他素短语可选项有:A、①④B、①⑤C、②④D、②⑦30、给定文法人一匕人|箕,下面的符号串中,为该文法句子的是A。①cc②bcbc③bcbcc④bccbcc⑤bbbcc可选项有:A、①B、①③④⑤C、①④D、①④⑤31、已知文法G[S]:S-eTIRT T-DR|eR-dR|e D-aIbd则FOLLOW(T)=D。
可选项有:DsI#} E、〔d,#}口、闭包A、Id}B、[DsI#} E、〔d,#}口、闭包32、正则式中的“*”读作D。可选项有:人、并且 8、或者5连接33、在现X归约中,用(B)来刻画可归约串。儿直接短语B.句柄^最左素短语口.素短语34、有文法6:£-£*口丁TT+i|i句子1+2*8+6按该文法6归约,其值为(B)A.23 B.42 C.30D.1735、如果文法是无二义的,那么规X归约是指(B)庆最左推导的逆过程8.最右推导的逆过程C.规X推导 口.最左归约的逆过程36、文法6£-5+口丁TT*P|PP-(S)|i句型P+T+i的短语有(B)A.i,P+TB.P,P+T,i,P+T+iC.P+T+iD.P,P+T,i37、高级语言编译程序常用的语法分析方法中,递归下降分析法属于b分析方法。可选项有:人、自左至右 8、自顶向下5自底向上口、自右向左38、一般程序设计语言的定义都涉及A三个方面。①语法②语义 ③语用 ④程序基本符号的确定可选项有:A、①②③B、①②④C、①③④ D、②③④39、编译过程中,语法分析器的任务是B。①分析单词是怎样构成的②分析单词串是如何构成语句和说明的③分析语句和说明是如何构成程序的④分析程序的结构可选项有:A、A、②③B、②③④40、编译程序生成的目标程序B可选项有:人、一定 8、不一定C、①②③ D、①②③④是机器语言的程序。5无法判断口、一定不优质资料优质资料- - - - 优质资料一、单项选择题(将正确答案的字母填入括号,每题1.5分,共30分)1、一般程序设计语言的定义都涉及到(1.2.3)3个方面。(1)语法(2)语义 (3)语用(4)程序基本符号的确定2、程序语言一般分为(1)和(2)。(1)高级语言;(2)低级语言(3)专用程序语言;(4)通用程序语言3、面向机器语言指的是(B)。北用于解决机器硬件设计问题的语言B.特定计算机系统所固有的语言C各种计算机系统都通用的语言 D.只能在一台计算机上使用的语言4面向机器语言的特点是(D)。北程序的执行效率低,编制效率低,可读性差B.程序的执行效率高,编制效率高,可读性强。程序的执行效率低,编制效率高,可读性强D.程序的执行效率高,编制效率低,可读性差5、程序设计语言常见的数据类型有:1.2.3.4(1)数值型数据(2)逻辑数据(3)字符数据(4)指针类型6、下列程序设计语言中是应用式语言的是:BA、PASCALB、LISPC、VBD、PROLOG7、任何语法结构都可以用(C)来表示。人、语法树B、树「抽象语法树 D、二义文法树8、字母表是符号的有穷集合,由(C)组成词和句子。人、字符串8、字符「符号口、语言9、下列符号是终结符的是(A)。A、cB、AC、SD、B10、语法树用(C)关系说明了句子中以操作符为核心的操作顺序,同时也说明了每一个操作符的操作对象。人、上下8、先后1层次D、关联11、循环语句的语法树为(D)12、表达式中间代码的生成可采用(B)。八、三地址代码8、四元式1三元式口、间接三元式13、下列文法中,赋值语句的文法是(C)。A、S\while(E)mB、 S\if(E膜if(E膜elseSC、S\id=E D、E-EopE14、词法分析的任务是(A)A、识别单词 8、分析句子的含义C、识别句子口、生成目标代码15、常用的中间代码形式中不含(D)人、三元式8、四元式C、逆波兰式口、语法树16、代码优化的目的是(C)A、节省时间B、节省空间C、节省时间和空间口、把编译程序进行等价转换17、代码生成阶段的主要任务是(C)人、把高级语言翻译成汇编语言8、把高级语言翻译成机器语言「把中间代码变换成依赖具体机器的目标代码口、把汇编语言翻译成机器语言18、词法分析器的输入是(B)A、单词符号串8、源程序C、语法单位口、目标程序19、中间代码的生成所遵循的是(C)人、语法规则8、词法规则C、语义规则口、等价变换规则20、编译程序是对(D)A、汇编程序的翻译 8、高级语言程序的解释并执行 1机器语言的执行口、高级语言的翻译21、语法分析应遵循(C)A、语义规则8、语法规则C、构词规则口、等价变换规则22、编译程序各阶段的工作都涉及到(B)A、语法分析8、表格管理、出错处理C、语义分析D、词法分析23、编译程序工作时,通常有(1.2.3.4)阶段。(1)词法分析(2)语法分析(3)中间代码生成(4)语义检查(5)目标代码生成24、由文法的开始符经0步或多步推导产生的文法符号序列是C。人、短语8、句柄C、句型口、句子25、产生正规语言的文法为D。A、0型B、1型C、2型D、3型26、对无二义性文法来说,一棵语法树往往代表了D。多种推导过程(2)多种最左推导过程(3)一种最左推导过程(4)仅一种推导过程 (5)一种最左推导过程A、B、(1)(3)(5)C、D27、如果文法6存在一个句子,满足下列条件之一时,则称该文法是二义文法。BCDa.该句子的最左推导与最右推导相同b.该句子有两个不同的最左推导c.该句子有两棵不同的最右推导d.该句子有两棵不同的语法树e.该句子的语法树只有一个28、优化可生成(D)的目标代码。八、运行时间较短 8、占用存储空间较小「运行时间短且占用内存空间大口、运行时间短且存储空间小29、构造编译程序应掌握(D)A、源程序8、目标程序C、编译方法 D、以上三项都是30、赋值语句*=2+匕气々的逆波兰式为(B)A、xab+c*d-=B、xabc*+d-=C、xabcd*+-=DA、xab+c*d-=31、词法分析器的输出结果是(C)A、单词的种别编码 B、单词在符号表中的位置C、单词的种别编码和自身值D、单词自身值《编译原理》期末试题(一)一、是非题(请在括号内,正确的划山错误的划乂)(每个2分,共20分).编译程序是对高级语言程序的解释执行。伐).一个有限状态自动机中,有且仅有一个唯一的终态。(x).一个算符优先文法可能不存在算符优先函数与之对应。Z)4.语法分析时必须先消除文法中的左递归。(x)5.1口分析法在自左至右扫描输入串时就能发现错误,但不能准确地指出出错地点。N)6.逆波兰表示法表示表达式时无须使用括号。H)7.静态数组的存储空间可以在编译时确定。(x)8.进行代码优化时应着重考虑循环的代码优化,这对提高目标代码的效率将起更大作用。(x)9.两个正规集相等的必要条件是他们对应的正规式等价。(x)10.一个语义子程序描述了一个文法所对应的翻译工作。(x)二、选择题(请在前括号内选择最确切的一项作为答案划一个勾,多划按错论)(每个4分,共40分)TOC\o"1-5"\h\z1.词法分析器的输出结果是 。A.()单词的种别编码 B.()单词在符号表中的位置C.()单词的种别编码和自身值 D.()单词自身值.正规式M1和M2等价是指 。A()乂1和乂2的状态数相等 B.()M1和M2的有向边条数相等C.()M1和乂2所识别的语言集相等 D.()M1和乂2状态数和有向边条数相等.文法G:S—xSxM所识别的语言是 。A.()xyxB.()(xyx)*C.()xnyxn(n>0) D.()x*yx*.如果文法6是无二义的,则它的任何句子a。A.()最左推导和最右推导对应的语法树必定相同B.()最左推导和最右推导对应的语法树可能不同C.()最左推导和最右推导必定相同D.()可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握 。A.()源程序B.()目标语言C.()编译方法D.()以上三项都是6.四元式之间的联系是通过 实现的。A.()指示器 B.()临时变量C.()符号表D.()程序变量.表达式hAVB)A(CVD)的逆波兰表示为。A.()[ABVACDVB.()AqBVCDVAC()ABVqCDVAD.()AqBVACDV.优化可生成 的目标代码。A.()运行时间较短 B.()占用存储空间较小C.()运行时间短但占用内存空间大 D.()运行时间短且占用存储空间小.下列 优化方法不是针对循环优化进行的。A.()强度削弱 B.()删除归纳变量C.()删除多余运算D.()代码外提.编译程序使用 区别标识符的作用域。A.()说明标识符的过程或函数名B.()说明标识符的过程或函数的静态层次C.()说明标识符的过程或函数的动态层次D.()标识符的行号《编译原理》期末试题(二)1、描述由正规式匕*似匕匕*)*似1。定义的语言,并画出接受该语言的最简DFA。2、证明文法£tE+id|id是SLR(1)文法。5、下面C语言程序经非优化编译后,若运行时输入2,则结果是area=12.566360, addr=-1073743076经优化编译后,若运行时输入2,则结果是area=12.566360, addr=-1073743068请解释为什么输出结果有区别。main(){floats,pi,r;pi=3.14159;scanf("%f",&r);printf("area=%f,addr=%d\n",s=pi*r*r,&r);}6、描述由正规式鼠28鼠编小*定义的语言,并画出接受该语言的最简DFA。7、下面的文法产生代表正二进制数的0和1的串集:BtB0|B1|1下面的翻译方案计算这种正二进制数的十进制值:Bt B0{B.val:=B.valx2}B;1{B.val:=B;valx2+1}1{B.val:=1}请消除该基础文法的左递归,再重写一个翻译方案,它仍然计算这种正二进制数的十进制值。8、在C语言中,如果变量》和:都是long类型,请写出表达式&»和表达式&」&:的类型表达式。为帮助你回答问题,下面给出一个程序作为提示,它运行时输出1。main(){longi,j;printf("%d\n”,&i-&j);}9、一个C语言的函数如下:func(i)longi;{longj;j=i—1;func(j);
下面左右两边的汇编代码是两个不同版本6名编译器为该函数产生的代码。左边的代码在调用下面左右两边的汇编代码是两个不同版本6名编译器为该函数产生的代码。左边的代码在调用func之前将参数压栈,调用结束后将参数退栈。右边代码对参数传递的处理方式没有实质区别。请叙述右边代码对参数传递的处理方式并推测它带来的优点。func:pushl %ebpmovl%esp,%ebp |subl $4,%espmovl8(%ebp),%edx |decl %edxmovl%edx,-4(%ebp) |movl-4(%ebp),%eax |pushl %eaxcall funcaddl $4,%espleave |ret||func:|pushl%ebpmovl%esp,%ebp| subl $8,%espmovl8(%ebp),%eax| decl %eaxmovl%eax,-4(%ebp)movl-4(%ebp),%eax|movl%eax,(%esp)| call func| leaveret编译原理试卷八答案1、由正规式b*(abb*)*(a|。定义的语言是字母表也,1上不含子串aa的所有串的集合。最简DFA如下:2、先给出接受该文法活前缀的DFA如下:10和110和13都只有移进项目,肯定不会引起冲突;12和14都无移进项目并仅含一个归约项目,也肯定不会引起冲突;在11中,日的后继id符号只有$,同第2个项目的展望符号“+”不一样,因此11也肯定不会引起冲突。由此可以断定该文法是51口(1)的。3、语法制导定义如下。Sfid:=E{S.type:=if(id.type=boolandE.type=bool)or(id.type=intandE.type=int)thentype_okelsetype_error}Ef E1andE2 { E.type :=if E1.type =boolandE2.type =boolthenboolelsetype_error}Ef E1 + E2 { E.type :=if E1.type =intand E2.type = intthen intelsetype_error}Ef E1 = E2 { E.type :=if E1.type =intand E2.type = intthen boolelsetype_error}Efid { E.type :=lookup(id.entry)}4、对于函数H,局部变量*声明的作用域是整个函数体,导致在函数体中不可能访问形式参数*。由于这是一个合法的C语言函数,因此编译器给出警告错误。对于函数£2,由于局部变量*的作用域只是函数体的一部分,不会出现上述问题,因而编译器不报错。5、使用非优化编译时,变量s,pi,「在局部数据区都分配4个字节的空间。使用优化编译时,由于复写传播,pi*r*r变成3.14159*r*r,pi=3.14159成为无用赋值而删去,函数中不再有pi的引用,因此不必为口》分配空间。类似地,$=3.14159*「*『也是一个无用赋值(表达式要计算,但赋值是无用的),也不必为s分配空间。这样,和非优化情况相比,局部数据区少了8个字节,因此『的地址向高地址方向移动了8个字节。6、正规式黑田匕鼠2)小*体现的特点是,每个2的左边都有若干b,除非@是第一个字母。该正规式定义的语言是:至少含一个2,但不含子串22的所有2和匕的串集。最简DFA如下:7、消除左递归后的文法:Bf1B,B'f0B'|1B'|s相应的翻译方案如下:Bf1{B'.i:=1}B'{B.val:=B'.val}B'f 0{B'1.i:=B'.ix2}B'1{B'.val:=B'1.val}| 1{B'1.i:=B'.ix2+1}B'1{B'.val:=B'1.val}| s{B'.val:=B'.i}8、表达式&»的类型表达式是口0^0厂(10口。),表达式&」&:的类型表达式是long。按照C语言的规定,指向同一个类型的两个指针可以相加减,它们值的差是它们之间的元素个数。9、左边的编译器版本:一般只为局部变量分配空间。调用函数前,用若干次pushl指令将参数压栈,返回后用addl$n,%esp一次将所有参数退栈(常数n根据调用前做了多少次pushl来决定)。右边的编译器版本:除了为局部变量分配空间外,同时还为本函数中出现的函数调用的参数分配空间,并且参数所用空间靠近栈顶。调用函数前,用movl指令将参数移入栈顶,调用结束后无需参数退栈指令。优点是每次函数调用结束后不需要执行addl$n,%esp指令,另外增加优化的可能性。《编译原理》期末试题(三)1、从优化的X围的角度,优化可以分哪两类?对循环的优化可以有哪三种?答:从优化的X围的角度,优化可以分为局部优化和全局优化两类;对循环的优化有三种:循环不变表达式外提、归纳变量删除与计算强度削减。2、写出表达式a=b*c+b*d对应的逆波兰式、四元式序列和三元式序列。答:逆波兰式:abc*bd*+:=四元式序列:三元式序列:OPARG1ARG2(1)(*b,c)(*,b,c,t(1)(*b,c)(*,b,d,t)(2)(*b,d)2(+,t1,t2,t3)(3)(+(1), (2))(:=,t3,/,a)(4)(:=(3),a)3、对于文法G(S):SfbMbMf(LiaLfMa)答:1) SnbMbnb(Lbnb(Ma)b短语:Ma),(Ma),b(Ma)b直接短语:Ma)句柄:Ma)设有字母表⑶外上的正规式R=(ab|a)*。解:(1)(2)将(1)所得的非确定有限自动机确定化(3)对(2)得到的DFA化简,合并状态0和2为状态2:(4)令状态1和2分别对应非终结符8和人G:A—aB|a|「BTaBlbAlalbl/可化简为:G:A—aB|「B—aB|bA|设将文法6改写成等价的LL(1)文法,并构造预测分析表。G:S-S*aT|aR*aT;T—+aT|+a解:消除左递归后的文法G’:S-aTS′|*aTS,S'一*aTS,lsT—+aT|+a提取左公因子得文法G,,:S—aTS,|*aTS,S,一*aTS,lsT—+aT'T,—T归Select(S-aTS,)={a}Select(S—*aTS,)={*}Select(S-aTS')nSelect(S-*aTS,)=0Select(S,—*aTS,)={*}Select(S'—e)=Follow(s')={#}Select(S,一*aTS,)nSelect(S'-3二①Select(T—+aT,)={+}Select(T,—T)=First(T)={+}Select(T’—£)=Follow(T')={*,#}Select(T'—T)nSelect(T'—e)=①所以该文法是11(1)文法。预测分析表:
*+a#S-*aTS'-aTS’S’-*aTS'-ET一+aT’T'-E-T-E6设文法G为:S—A;A—BA|e;B—aB|b解:(1)拓广文法G':(0)S’-S⑴S—A(2)A—BA⑶A—e⑷B—aB(5)B—b;FIRST(A)={e,a,b};FIRST(B)={a,b}构造的DFA如下:
项目集规X族看出,不存在冲突动作。・•.该文法是1口(1)文法。(2)1口(1)分析表如下:状态ActionGotoaB#SAB0S4S5r31P31acc2rl3S4S5r3634S4S575r5r5r56r2rlt1rl⑶输入串@匕@匕的分析过程为:步骤状态栈符弓栈当前字符剩余字符串动作(1)0#abab#移进⑵04#ab移进⑶045ab#归约B^b(4)047KBab#归约B今aB(5)03ab#移进⑹034#Bab#移进(7)0345#Bab#归约B^b⑻0347二旧#归约B-^aB⑼033#归约好£(10)0336二EEA#归约A^BA(11)036#BA归约A^BA(12)02#A#归约(13)01光#acc简答题3、设有文法G[S]:S-S(S)S|e,该文法是否为二义文法?说明理由。答:是二义的,因为对于()()可以构造两棵不同的语法树。
S/((S)SS(S)ISEES/(EEEEEE五、给定文法G[S]:S—aA|bQ;A—aA|bB|b;B—bD|aQ;Q—aQ|bD|b;D—bB|aA;E—aB|bFF—bD|aE|b构造相应的最小的DFA。用子集法将NFA确定化:解:先构造其NFA:将5、A、Q、BZ、DZ、D、B重新命名,分别用0解:先构造其NFA:将5、A、Q、BZ、DZ、D、B重新命名,々P0,125,6々P0,125,6)为3、4中含有2,所以它们为终态。FIRSTVTS)={aFIRSTVTS)={a,八,(}FIRSTVTT)={,,a,八,(}LASTVT(S)={a,八,)}LASTVT(T)={,,a,八,)}(2)是算符优先文法,因为任何两个终结符之间至多只有一种优先关系。(2分)(3)给出输入串匕0#的算符优先分析a八(),#a>>>八>>>(<<<<)>>>,<<<>>#<<<P1=(!0,5,6},{1,2},[3,4})再用匕进行分割:P2=({0},{5,6},{1,2},[3,4})再用@、匕进行分割,仍不变。再令{0}为A,[1,2}为B,[3,4}为C,[5,6}为D。最小化为右上图。六、对文法G(S):S-a「|(T);T-T,S|S过程。步骤栈当前输入字符剩余输入事动作1#(a,a##<(移进2#(a,a)#(<a移进3#(a,a)#a>,归约4#(N,a)#(<,移进5#(N,a)#,<a移进6#(N,a)#a>)归约7#(N,N)#,>)归约8#(N)#(=)移进9#(N)#)>#归约10#N#接受《编译原理》期末试题(四)二、构造下列正规式相应的DFA(用状态转换图表示)(15)(1) 1(0|1)*1
三、给出下面语言的相应文法:(15)L={anbn|n21}1L={anbm+nL={anbn|n21}12G1: G1:A—aAb|ab S—ABA—aAb|ab
B—bBa1£四、对下面的文法6:S-a|b|(T)TT,S|S(1)消去文法的左递归,得到等价的文法62;⑵判断文法62是否11(1)文法,如果是,给出其预测分析表。(15)G2:S-a|b|(T)
T—ST'T't,ST'|e62是11(1)文法。ab(),#SS——aS—bS—(T)TT―ST’T―ST’T―ST’T'T’―eT’—,S五、设有文法6[内:A—BCc|gDBB—bCDE|eC—DaB|caD—dD|eE—gAf|c(1)计算该文法的每一个非终结符的FIRST集和FOLLOW集;(2)试判断该文法是否为□_(1)文法。(15)FIRSTFOLLOWAA,b,c,d,gBbA,c,dCA,c,dC,d,gDDA,b,c,gEC,g是11(1)文法。六、对表达式文法6:E—E+T|TT—T*F|FF—(E)|I(1)造各非终结符的FIRSTVT和LASTVT集合;(2)构造文法的算符优先关系表。(15)
FIRSTVTLASTVTE*,+,(,i*,+,),iT*,(,i*,),iF(,i),i算符优先关系表+*I()#+><<<>>*>><<>>I>>>>(<<<<>>>><<<<七、有定义二进制整数的文法如下:L—LB|BB-0|1构造一个翻译模式,计算该二进制数的值(十进制的值)。(15)引入1、8的综合属性丫谓翻译模式为:S-L {print(L.val)}L-L1B {L.val=L1.val*2+B.val}L-B {L.val=B.val}B-0 {B.val=0}B-1 {B.val=1}《编译原理》期末试题(五)一、单项选择题(共10小题,每小题2分,共20分)1.语言是4句子的集合 8.产生式的集合口符号串的集合 口.句型的集合2.编译程序前三个阶段完成的工作是A词法分析、语法分析和代码优化B.代码生成、代码优化和词法分析C词法分析、语法分析、语义分析和中间代码生成D.词法分析、语法分析和代码优化3.一个句型中称为句柄的是该句型的最左入非终结符号 8.短语 口句子D.直接短语.下推自动机识别的语言是庆0型语言 B.1型语言。2型语言 D.3型语言.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即A,字符B.单词 口句子 口.句型.对应Ch。msky四种文法的四种语言之间的关系是A.L0uL1uL2uL3B.L^uLzUL]uL°C.L3=L2uLiuL023 3d/L0UL1UL2=L3.词3法2分析1的0任务是 0123A.识别单词 B.分析句子的含义C.识别句子 口.生成目标代码.常用的中间代码形式不含入三元式8.四元式C逆波兰式D.一法树.代码优化的目的是庆节省时间 B.节省空间。节省时间和空间 口.把编译程序进行等价交换.代码生成阶段的主要任务是儿把高级语言翻译成汇编语言B.把高级语言翻译成机器语言。把中间代码变换成依赖具体机器的目标代码口.把汇编语言翻译成机器语言四、简答题(共4小题,每小题5分,共20分).编译程序和高级语言有什么区别?用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器语言表示的目标程序(这个过程即编译),才能由
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年甘肃省嘉峪关市事业单位人员招聘笔试参考题库及答案详解
- 2026年烟台市芝罘区公务员人员招聘笔试参考题库及答案详解
- 2026年南昌市东湖区公务员人员招聘考试模拟试题及答案详解
- 2026年鞍山市千山区事业单位人员招聘笔试备考试题及答案详解
- 2025-2026学年《小小少年》说课稿
- 2025年四川省泸州市事业单位人员招聘笔试试题及答案详解
- 2026年吉林市昌邑区公务员人员招聘笔试备考试题及答案详解
- 2026年平顶山市卫东区事业单位人员招聘笔试备考试题及答案详解
- 高中生物人教版(2019)必修二第6章第4节 协同进化与生物多样性的形成 同步测试(含答案)
- 广东省茂名市高州市2025-2026学年三年级上学期语文期中试卷(含答案)
- 2026孙吴县供销合作社联合社社有企业面向社会联合公开招聘8人笔试备考试题及答案详解
- 2026基层医务人员医护人员的职业防护课件
- 2026年秋北师大版四年级上册数学全册教案(完整版含教学反思)
- 限制类医疗技术临床应用自我评估报告x
- 2026年群众文化专业人员职称考试真题
- 二次函数与一元二次方程 (课件) 2026-2027学年人教版九年级数学上册
- 牙科手机注油机使用方法
- 雨课堂学堂在线学堂云《创新思维与创业实验(东南)》单元测试考核答案
- 2025年国才杯日语笔试真题及答案
- 慢性病管理APP开发
- 函数的单调性 第一课时 课件(共18张) 高一上学期数学人教A版必修第一册
评论
0/150
提交评论