《编译原理》考试试题及答案_第1页
《编译原理》考试试题及答案_第2页
《编译原理》考试试题及答案_第3页
《编译原理》考试试题及答案_第4页
《编译原理》考试试题及答案_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 编译原理考试试题及答案(附录)一、判断题:1.一个上下文无关文法的开始符,可以是终结符或非终结符。 ( x )2.一个句型的直接短语是唯一的。 ( x )3.已经证明文法的二义性是可判定的。 ( x )4.每个基本块可用一个dag表示。 ( )5.每个过程的活动记录的体积在编译时可静态确定。 ( )6.2型文法一定是3型文法。 ( x )7.一个句型一定句子。 ( x )8.算符优先分析法每次都是对句柄进行归约。 (应是最左素短语) ( x )9.采用三元式实现三地址代码时,不利于对中间代码进行优化。 ( )10.编译过程中,语法分析器的任务是分析单词是怎样构成的。 ( x )11.一个优先

2、表一定存在相应的优先函数。 ( x )12.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )13.递归下降分析法是一种自下而上分析法。 ( )14.并不是每个文法都能改写成ll(1)文法。 ( )15.每个基本块只有一个入口和一个出口。 ( )16.一个ll(1)文法一定是无二义的。 ( )17.逆波兰法表示的表达试亦称前缀式。 ( )18.目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。 ( )19.正规文法产生的语言都可以用上下文无关文法来描述。 ( )20.一个优先表一定存在相应的优先函数。 ( )21.3型文法一定是2型文法。 ( )22.如果一个文法存在某个句

3、子对应两棵不同的语法树,则文法是二义性的。 ( )二、填空题:1.( 最右推导 )称为规范推导。2.编译过程可分为 ( 词法分析 ) ,(语法分析),(语义分析和中间代码生成),(代码优化)和(目标代码生成)五个阶段。3.如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是( )。 4.从功能上说,程序语言的语句大体可分为( )语句和( )语句两大类。5.语法分析器的输入是( ),其输出是( )。6.扫描器的任务是从( )中识别出一个个( )。7.符号表中的信息栏中登记了每个名字的有关的性质,如( )等等。8.一个过程相应的display表的内容为( )。9.一个句型的最左直接短语称为

4、句型的( )。10.常用的两种动态存贮分配办法是( )动态分配和( )动态分配。11.一个名字的属性包括( )和( )。12.常用的参数传递方式有( ),( )和( )。13.根据优化所涉及的程序范围,可将优化分成为( ),( )和( )三个级别。14.语法分析的方法大致可分为两类,一类是( )分析法,另一类是( )分析法。15.预测分析程序是使用一张( )和一个( )进行联合控制的。16.常用的参数传递方式有( ),( )和( )。17.一张转换图只包含有限个状态,其中有一个被认为是( )态;而且实际上至少要有一个( )态。18.根据优化所涉及的程序范围,可将优化分成为( ),( )和( )

5、三个级别。19.语法分析是依据语言的( )规则进行。中间代码产生是依据语言的( )规则进行的。20.一个句型的最左直接短语称为句型的( )。21.一个文法g,若它的预测分析表m不含多重定义,则该文法是( )文法。22.对于数据空间的存贮分配, fortran采用( )策略, pascal采用( )策略。23.如果一个文法存在某个句子对应两棵不同的语法树, 则称这个文法是( )。24.最右推导亦称为( ),由此得到的句型称为( )句型。25.语法分析的方法大致可分为两类,一类是( )分析法,另一类是( )分析法。26.对于文法g,仅含终结符号的句型称为 ( )。27.所谓自上而下分析法是指( )

6、。28.语法分析器的输入是( ),其输出是( )。29.局限于基本块范围的优化称( )。30.预测分析程序是使用一张( )和一个( )进行联合控制的。31.2型文法又称为( )文法;3型文法又称为( )文法。32.每条指令的执行代价定义为( )。33.算符优先分析法每次都是对( )进行归约。三、名词解释题:1.局部优化2.二义性文法3.display表4.词法分析器5.最左推导6.语法7.文法8.基本块9.语法制导翻译10.短语11.待用信息12.规范句型13.扫描器14.超前搜索15.句柄16.语法制导翻译17.规范句型18.素短语19.语法20.待用信息21.语义四、简答题:1.写一个文法

7、g, 使其语言为 不以0开头的偶数集。2.已知文法g(s)及相应翻译方案saab print “1”sa print “2”aas print “3”ac print “4”输入acab, 输出是什么?3. 已知文法g(s)sbaaa(b | abaa)写出句子b(aa)b的规范归约过程。4. 考虑下面的程序:procedure  p(x, y, z);beginy:=x+y;z:=z*z; end begina:=2;b:=a*2;p(a, a, b);print a, b end.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出 a, b的值是什么? 5.文法g(s)

8、sdabaaa| abbb| 描述的语言是什么?6.证明文法g(s) ssas| 是二义性的。7.已知文法g(s) sbaabs| dbaa| bs | c的预测分析表如下 a b c d # ssbasbasba aabsabsabsad bbaa bbs bc给出句子 adccd 的分析过程。8.写一个文法g, 使其语言为 l(g)=albmclanbn| l>=0, m>=1, n>=2 9.已知文法g(s):sa| (t)tt,s|s的优先关系表如下:关系a(),a-.>.>(<.<.=.<.)-.>.>,<.<.

9、>.>请计算出该优先关系表所对应的优先函数表。10.何谓优化?按所涉及的程序范围可分为哪几级优化?11.目标代码有哪几种形式?生成目标代码时通常应考虑哪几个问题?12.一字母表=a, b,试写出上所有以a为首的字组成的正规集相对应的正规式。13.基本的优化方法有哪几种?14.写一个文法g, 使其语言为 l(g)=abncn| n015.考虑下面的程序:procedure p(x, y, z);begin y:=y+z; z:=y*z+xend;begin a:=2; b:=3; p(a+b, b, a); print aend.试问,若参数传递的方式分别采用传地址和传值时,程序执行

10、后输出 a的值是什么? 16.写出表达式ab*(c-d)/e的逆波兰式和三元序列。17.证明文法g(a) aaa | (a)| 是二义性的。18.令=a,b,则正规式a*b|b*a 表示的正规集是什么?19.何谓display表?其作用是什么?20.考虑下面的程序:procedure  p(x, y, z);beginy:=y+2;z:=z+x; end begina:=5;b:=2;p(a+b, a-b, a);print a end.试问,若参数传递的方式分别采用传地址和传值时,程序执行后输出 a的值是什么? 21.写一个文法g, 使其语言为 l(g)=anbncm| n>

11、0为奇数, m>0为偶数22.写出表达式a:=(b+c)*e+(b+c)/f的逆波兰式和三元序列。23.一个文法g别是ll(1)文法的充要条件是什么?24.已知文法gsss*af | af | *aff+af | +a消除文法左递归和提公共左因子。25.符号表的作用是什么?符号表查找和整理技术有哪几种?五、计算题:1.设文法g(s): s | a | (t) tt,s | s 消除左递归; 构造相应的first和follow集合; 构造预测分析表 2.语句 if e then s(1) 改写文法,使之适合语法制导翻译; (2) 写出改写后产生式的语义动作。 3.设文法g(s):s(t)

12、| att+s | s(1)计算firstvt 和lastvt; (2)构造优先关系表。 4.设某语言的for语句的形式为for i:e(1) to e(2) do s其语义解释为i:e(1)limit:e(2)again: if ilimit thenbegins;i:i1goto againend;(1)写出适合语法制导翻译的产生式;(2)写出每个产生式对应的语义动作。5.把语句while a<10 doif c>0 then a:=a+1else a:=a*3-1;翻译成四元式序列。6.设有基本块d:=a-ce:=a*cf:=d*es:=2t:=a-c q:=a*cg:=2*

13、sj:=t*qk:=g*5l:=k+jm:=l假设基本块出口时只有m还被引用,请写出优化后的四元序列。7.已知文法g(s)sa | | (t)tt,s | s(1) 给出句子(a,(a,a)的最左推导;(2) 给出句型(t,s),a)的短语, 直接短语,句柄。8.对于 c 语言do s while e语句 (1)改写文法,使之适合语法制导翻译; (2)写出改写后产生式的语义动作。9.已知文法g(s) saacbe aab| b bd(1)给出句子abbcde的最左推导及画出语法树;(2)给出句型aabcde的短语、素短语。 10.设文法g(s): s(t) | as | a tt,s | s

14、消除左递归和提公共左因子; 构造相应的first和follow集合; 构造预测分析表。11.把语句 if x>0 y<0 then while x>0 do x:=a*3 else y:=b+3;翻译成四元式序列。12.已知文法g(s) ee+t | t tt*f| f f(e)| i (1) 给出句型 (i+i)*i+i的最左推导及画出语法树; (2) 给出句型 (e+t)*i+f 的短语,素短语和最左素短语。 13.设文法g(s):st | sttu |tuui |-u(1)计算firstvt 和lastvt; (2)构造优先关系表。 第6页共6页参考答案一、是非题:1.

15、× 2.× 3.× 4. 5. 6.× 7.× 8.× 9. 10.× 11.×12. 13.× 14. 15. 16. 17.× 18. 19. 20.× 21. 22.二、填空题:1.(最右推导)2.(词法分析),(语法分析),(中间代码生成),(代码优化),(目标代码生成)3.(二义性的)4.(执行性),(说明性)5.(单词符号),(语法单位)。6.(源程序),(单词符号)7.(类型、种属、所占单元大小、地址)8.(现行活动记录地址和所有外层最新活动记录的地址)9.(句柄)10.

16、(栈式),(堆式)11.(类型),(作用域)12.(传地址),(传值),(传名)13.(局部优化),(循环优化),(全局优化)14.(自上而下),(自下而上)15.(分析表),(符号栈)16.(传地址),(传值),(传名)17.(初),(终)18.(局部优化),(循环优化),(全局优化)19.(语法),(语义)20.(句柄)21.(ll(1) 文法)22.(静态),(动态)23.(二义性文法)24.(规范推导),(规范)25.(自上而下),(自下而上)26.(句子)27.(从开始符号出发,向下推导,推出句子)28.(单词符号),(语法单位)29.(局部优化)30.(分析表),(符号栈)31.(

17、上下文无关文法),(正规)32.(指令访问主存次数加1)33.(最左素短语)三、名词解释题: 1.局部优化-局限于基本块范围的优化称。2.二义性文法-如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性文法。3.display表-过程的嵌套层次显示表,记录该过程的各外层过程的最新活动记录的起始地址。4.词法分析器-执行词法分析的程序。5.最左推导-任何一步=>都是对中的最右非终结符替换。6.语法-一组规则,用它可形成和产生一组合式的程序。7.文法-描述语言的语法结构的形式规则。8.基本块-指程序中一顺序执行的语句序列,其中只有一个入口和一个出口,入口就是其中的第一个语句,出

18、口就是其中的最后一个语句。9.语法制导翻译-在语法分析过程中,根据每个产生式所对应的语义子程序进行翻译的办法叫做语法制导翻译。10.短语-令g是一个文法,s划文法的开始符号,假定是文法g的一个句型,如果有sa且a,则称是句型相对非终结符a的短语。11.待用信息-如果在一个基本块中,四元式i对a定值,四元式j要引用a值,而从i到j之间没有a的其它定值,则称j是四元式i的变量a的待用信息。12.规范句型-由规范推导所得到的句型。13.扫描器-执行词法分析的程序。14.超前搜索-在词法分析过程中,有时为了确定词性,需超前扫描若干个字符。15.句柄-一个句型的最左直接短语。16.语法制导翻译-在语法分

19、析过程中,根据每个产生式所对应的语义程序进行翻译的方法 叫做语法制导翻译。17.规范句型-由规范推导所得到的句型。18.素短语-素短语是指这样一个短语,至少含有一个终结符,并且,除它自身外不再含任何更小的素短语。19.语法-是组规则,用它可形成和产生一个合式的程序。 20.待用信息-如果在一个基本块中,四元式i对a定值,四元式j要引用a值,而从i到j之间没有a的其它定值,则称j是四元式i的变量a的待用信息。21.语义-定义程序的意义的一组规则。四、简答题: 1.所求文法是gs:sab |b a0aad |cb2 |4 |6 |8c1 |3 |5 |7 |9 |bd0 |c2.输出是42313.

20、句子b(aa)b的规范归约过程:步骤符号栈输入串动作0#b(aa)b#预备1#b(aa)b#移进2#b(aa)b#移进3 #b(a a)b# 移进4#b(aa)b#归约5 #b(ma)b#移进6#b(ma)b#移进7#b(b b# 归约8#bab#归约9#bab#移进10#s#接受4.传地址 a=6, b=16传值 a=2, b=45.l(g)=danbm |n>0, m06.证明: 因为文法gs存在句子aa有两个不同的最左推导,所以文法gs是是二义性的。s=>sas=>sasas=>asas=>aas=>aa s=>sas=>as=>as

21、as=>aas=>aa7.句子 adccd 的分析过程:步骤符号栈输入串产生式0#sadccd#1#abadccd#sba2#aaaadccd#baa3#aadccd#4#addccd#ad5#accd#6#sbccd#abs7#scccd# bc8#s cd# 9#abcd#bc10#acd#11#a d#12#dd#ad13# 8.所求文法是gs: sab aaac | d dbd | bbabb | aabb9.函数a(),f4244g552310.优化:对程序进行各种等价变换,使得从变换后的程序出发,能产生更有效的目标代码。三种级别:局部优化、循环优化、全局优化11.目标代

22、码通常采用三种形式:机器语言,汇编语言,待装配机器语言模块。应着重考虑的问题: (1)如何使生成的目标代码较短;(2)如何充分利用寄存器,以减少访问内存次数;(3)如何充分利用指令系统的特点。12.正规式 a ( a | b )*。13.删除多余运算,代码外提,强度削弱,变换循环控制条件,合并已知量,复写传播和删除无用赋值。14.文法gs:sab | a bbc |bbc15.传值 a=2 传地址 a=1516.逆波兰式: abcd-*e/+三元序列: op arg1 arg2 (1) - c d (2) * b (1) (3) / (2) e (4) + a (3)17.证明:因为文法gs存

23、在句子 () 有两个不同的最左推导,所以文法gs是是二义性的。a=>aa=>(a)a=>()a=>() a=>aa=>a=>(a)=>()18.(a*b|b*a)=a,b,ab,ba,aab,bba19.display表: 嵌套层次显示表由于过程嵌套允许内层过程引用外层过程定义的数据,因此,当一个过程运行时必须跟踪它的所有外层过程的最新活动记录起始地址, display表就是用于登记每个外层过程的最新活动记录起始地址。20.传地址 a=12传值 a=521.所求文法是gs: sac aaaabb | ab cccc | cc22.逆波兰式 abc

24、+e*bc+f/+:=三元序列 op arg1 arg2 (1) + b c (2) * (1) e (3) + b c (4) / (3) f (5) + (2) (4) (6) := a (5) 23.一个文法g别是ll(1)文法的充要条件是: (1) first() first()= (2) 如果 =*>, first() follow(a)= 24.消除左递归safs | *afss*afs | f+af | +a提公共左因子,文法 g(s) safs | *afss*afs | f+afff |25.作用:登记源程序中出现的各种名字及其信息,以及了解各阶段的进展状况。主要技术:

25、线性表,对折查找,杂奏技术。五、计算题:1.(1)消除左递,文法变为gs:s | a | (t)'tst | st,st |此文法无左公共左因子。(2)构造相应的first和follow集合: first(s)=a, , (, follow(s)=#, , )first(t)=a, , ( ,follow(t)=first(t)=, ,follow(f)=)(3)构造预测分析表:a(),#ssass(t)'ttsttsttstttt,st2. (1)cif e thenscs(1) (2) cif e then back(e.tc, nxq); c.chain:=e.fc sc

26、s(1) s.chain:=merg(c.chain, s(1). chain)3. (1) firstvt(s)=a, ( firstvt(t)=+, aa, ( lastvt(s)=a, ) lastvt(t)=+, a, ) (2) a + ( ) a .> .>+ <. .> <. .>( <. <. <. =. ) .> .> >.4. (1) ffor i:=e(1) to e(2) do sfs(1)(2) ffor i:=e(1) to e(2) dogen(:=, e(1).place, _, entry

27、(i);f.place:=entry(i);limit:=newtemp;gen(:=, e(2).place, _, limit);q:=nxq;f.quad:=q;gen(j, entry(i), limit, q+2)f.chain:=nxq;gen(j, _, _, 0)sfs(1)backpatch(s(1).chain, nxq); gen(+, f.place, 1, f.place); gen(j, _, _, f.quad); s.chain:=f.chain5. (1) (j<, a, 10, (3)(2) (j, _, _, (12)(3) (j>, c, 0

28、, (5)(4) (j, _, _, (8)(5) (+, a, 1, t1)(6) (:=, t1, _, a)(7) (j, _, _, (1)(8) (*, a, 13, t2)(9) (-, t2, 1, t3)(10) (:=, t3, _, a)(11) (j, _, _, (1)6.优化后的四元序列d:=a-ce:=a*cf:=d*em:=f+207. 最左推导s=(t)=>(t,s)=>(s,s)=>(a,s)=>(a,(t)=>(a,(t,s)=>(a,(s,s)=>(a,(a,s)=>(a,(a,a)短语 (t,s),a) (

29、t,s),a (t,s) t,s a直接短语 t,s a句柄 t,s8.(1)sdo m1 s1 while m2 em (2)m m.quad=nestquad;sdo m1 s1 while m2 e backpatch(s1.nextlist, m2.quad); backpatch(e.truelist, m1.quad); s.nextlist=e.falelist; 9.(1) s=>aacbe=>aabcbe=>abbcbe=>abbcde(2) 短语: aabcde, ab, d 素短语: ab, d10.(1) s (l) | as ss | lsl

30、l,sl |(2) first(s)=a, ( first(s)=a, (, first(l)=a, ( first(l)=, follow(s)=, ), # follow(s)=, ), #follow(l)= ) follow(l)= )(3) ( ) a , # ss (l)s asssssssssllsllsll,sl ll11.(1) (j>, x, 0, (5)(2) (j, _, _, (3)(3) (j<, y, 0, (5)(4) (j, _, _, (11)(5) (j>0, x, 0, (7)(6) (j, _, _, (7)(7) (*, a, 3,

31、 t1)(8) (:=, t1, _, n)(9) (j, _, _, (5)(10) (j, _, _, (13)(11) (+, b, 3, t2)(12) (:=, t2, _, y)12.(1) e=>e+t=>t+t=>t*f+t=>f*f+t=>(e)*f+t=>(e+t)*f+t=>(t+t)*f+t =>(f+t)*f+t=>(i+t)*f+t=>(i+f)*f+t=>(i+i)*f+t=>(i+i)*i+t =>(i+i)*i+f=>(i+i)*i+i (2) 短语 i, f, e+t, (e

32、+t), (e+t)*i, (e+t)*i+f 素短语 i, e+t最左素短语 e+t13.(1) firstvt(s)=, , i, - firstvt(t)=, i, - firstvt(u)=i, - lastvt(s)=, , i, - lastvt(t)=, i, - lastvt(u)=i, -(2) i - s .> .> <. .> <. <. <. .> .> <. - <. .> .> <.一、单项选择题 1将编译程序分成若干个“遍”是为了( b ) a提高程序的执行效率 b. 使程序的结构

33、更加清晰 c利用有限的机器内存并提高机器的执行效率d利用有限的机器内存但降低了机器的执行效率2不可能是目标代码的是( d ) a汇编指令代码 b可重定位指令代码 c绝对指令代码 d中间代码3词法分析器的输入是( b ) a单词符号串 b源程序 c语法单位 d目标程序4中间代码生成时所遵循的是( c ) a语法规则 b词法规则 c语义规则 d等价变换规则5编译程序是对( d ) a汇编程序的翻译 b高级语言程序的解释执行 c机器语言的执行 d高级语言的翻译6词法分析应遵循( c ) a语义规则 b语法规则 c构词规则 d等价变换规则7词法分析器的输出结果是( c ) a单词的种别编码 b单词在符

34、号表中的位置 c单词的种别编码和属性值 d单词属性值8正规式m1和m2等价是指( c ) am1和m2的状态数相等 bm1和m2的有向弧条数相等 cm1和m2所识别的语言集相等 dm1和m2状态数和有向弧条数相等9词法分析器作为独立的阶段使整个编译程序结构更加简洁、明确,因此,( b ) a词法分析器应作为独立的一遍 b词法分析器作为子程序较好 c词法分析器分解为多个过程,由语法分析器选择使用 d词法分析器并不作为一个独立的阶段10如果l(m1)=l(m2),则m1与m2( a ) a等价 b都是二义的 c都是无二义的 d它们的状态数相等11文法g:sxsx|y所识别的语言是( c ) axy

35、x b(xyx)* cxnyxn(n0) dx*yx*12文法g描述的语言l(g)是指( a ) a b c d13有限状态自动机能识别( c ) a上下文无关文法 b上下文有关文法 c正规文法 d短语文法14如果文法g是无二义的,则它的任何句子( a ) a最左推导和最右推导对应的语法树必定相同 b最左推导和最右推导对应的语法树可能不同 c最左推导和最右推导必定相同 d可能存在两个不同的最左推导,但它们对应的语法树相同15由文法的开始符经0步或多步推导产生的文法符号序列是( c ) a短语 b句柄 c句型 d句子16文法g:ee+t|t tt*p|p p(e)|i则句型p+t+i的句柄为(

36、b ) ap+t bp cp+t+i di17文法g:sb|(t) tts|s则firstvt(t)=( c ) a b,( b b,) c b,(, d b,), 18产生正规语言的文法为( d ) a0型 b1型 c2型 d3型19任何算符优先文法( d )优先函数。 a有一个 b没有 c有若干个 d可能有若干个20采用自上而下分析,必须( c ) a消除左递归 b消除右递归 c消除回溯 d提取公共左因子21在规范归约中,用( b )来刻画可归约串。 a直接短语 b句柄 c最左素短语 d素短语22有文法g:ee*t|t tt+i|i句子1+2*8+6按该文法g归约,其值为( b ) a23

37、 b42 c30 d1723如果文法是无二义的,那么规范归约是指( b ) a最左推导的逆过程 b最右推导的逆过程 c规范推导 d最左归约的逆过程24文法g:ss+t|t tt*p|p p(s)|i句型p+t+i的短语有( b ) ai,p+t bp,p+t,i,p+t+i cp+t+i dp,p+t,i25四元式之间的联系是通过( b )实现的。 a指示器 b临时变量 c符号表 d程序变量26后缀式ab+cd+可用表达式( b )来表示。 aa+bc+d b(a+b)(c+d) ca+b(c+d) da+b+cd27使用间接三元式表示法的主要目的( a ) a便于优化处理 b便于表的修改 c

38、节省存储空间 d生成中间代码更容易28表达式(ab)(cd)的逆波兰表示为( b ) aabcd babcd cabcd dabcd二、判断题1一个确定有限状态自动机中,有且仅有一个唯一的终态。 ()2设r和s分别是字母表上的正规式,则有l(r|s)=l(r)l(s)。 ()3自动机m1和m2的状态数不同,则二者必不等价。 ()4确定有限自动机以及非确定有限自动机都能正确地识别正规集。 ()5对任意一个右线性正规文法g,都存在一个nfa m,满足l(g)=l(m)。 ()6对任意一个右线性正规文法g,都存在一个dfa m,满足l(g)= l(m)。()7对任何正规式e,都存在一个nfa m,满

39、足l(m)=l(e)。()8对任何正规式e,都存在一个dfa m,满足l(m)=l(e)。()9从一个句型到另一个句型的推导过程是唯一的。()10词法分析作为单独的一遍来处理较好。 ()11一张转换图只包含有限个状态,其中有一个被认为是初态,最多只有一个终态。()12二义文法不是上下文无关文法。()13自上而下分析法是一种“移进归约”法。()14文法是描述语言的语法结构的形式规则。()15产生式是定义语法范畴的一种书写规则。()16要构造行之有效的自上而下的分析器,则必须消除左递归。()17如果文法g是无二义的,那么规范归约和规范推导是互逆的两个过程。()18自下而上的分析法是一种“移进归约”

40、法。()19如果文法g是二义的,那么规范归约和规范推导是互逆的两个过程。()三、填空题1解释程序和编译程序的区别在于(是否生成目标代码)。2编译过程通常可分为5个阶段,分别是(词法分析)、(语法分析)、语义分析与中间代码产生、代码优化和目标代码生成。3编译程序工作过程中,第一阶段输入是(源程序),最后阶段的输出为(目标代码)程序。4把语法范畴翻译成中间代码所依据的是(语义规则)。5目标代码可以是(汇编)指令代码或(可重定位)指令代码或绝对机器指令代码。6词法分析的任务是:输入源程序,对构成源程序的(字符串)进行扫描和分解。7源程序中的错误通常分为(语法错误)和(语义错误)两大类。8(编译程序)

41、是将源程序翻译成目标程序的程序。9一个上下文无关文法g包括四个部分:(终结符号)、(非终结符号)、(开始符号)和一组(产生式)。10若,则称这个序列是从到的一个(推导)。11设文法g的开始符号为s,如果则称是l(g)的一个(句型)。12文法g所产生的句子的全体是文法g所定义的(语言)。13若一个文法存在某个句子对应的两棵不同的语法树,则称这个文法是(二义文法)。14程序语言的单词符号一般可分为五种:(关键字)、(标识符)、常数、(运算符)和界符。15(确定有限自动机dfa)是非确定有限自动机nfa的一个特例。16对于正规文法g和有限自动机m,若l(g)=l(m),则称g和m是(等价)的。17若两个正规式所表示的正规集相等,则认为二者是(等价)的。18按照语法分析树的建立方法,语法分析可分为两类:(自上而下分析)和(自下而上分析)。18规范归约中的可归约串是指(句柄)。19算符优先分析中的可归约串是指(最左素短语)。20(自下而上)语法分析的关键问题是精确定义可归约串的概念。四、简答1给出上下文无关文法的定义。一个上下文无关文法g是一个四元式(vt,vn,s,p),其中: vt是一个非空有限集,它的每个元素称为终结符号;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论