201309学期编译技术作业4
编译原理作业与答案

编译原理作业与答案编译原理独⽴作业2010.5⼀、简答题1、构造⼀个⽂法使其⽣成的语⾔是不允许0打头的偶正整数集合。
2、⽂法][E G :TT E T E E-+→,FF T F T T/*→,i E F )(→,构造句型i T T T*+-的语法树,并指出该句型的短语、直接短语、句柄、素短语和最左素短语。
3、某LL(1)⽂法的预测分析表如下,请在下述分析过程表中填⼊输⼊串( a , a )$ 的分析过程。
分析过程表:4、⽂法][S G :RL S=→,R S →,R L *→,i L →,L R →,求增⼴⽂法中LR(1)项⽬集的初态项⽬集I 0。
5、⽂法][S G :GG S S ;→,()G G t H →,)(S a H →,求出各⾮终结符的FISTVT 和LASTVT集合。
⼆、分析题:1、构造⾃动机,使得它能识别字母表{0,1}上以00结尾的符号串,将构造的⾃动机确定化,并写出相应的正规⽂法。
2、⽂法][S G :RT eT S →εDR T →εdR R → bd a D →,写出每个⾮终结符的FIRST 集和FOLLOW 集,并判断该⽂法是否为LL(1)⽂法。
3、若有⽂法][S G :AB S →εaBa A →εb A b B → (1)试证明该⽂法是SLR(1) ⽂法,并构造SLR(1)分析表。
(2)给出输⼊串aa # 的分析过程。
参考答案⼀、简答题1、构造⼀个⽂法使其⽣成的语⾔是不允许0打头的偶正整数集合。
8|6|4|2|ABC Z → 9|8|7|6|5|4|3|2|1→A ε|0|B AB B →|8|6|4|2|0→C2、⽂法][E G :TT E T E E-+→,FF T F T T/*→,i E F )(→,构造句型i T T T *+-的语法树,并指出该句型的短语、直接短语、句柄、素短语和最左素短语。
短语:T ,T-T ,i ,T*i ,T-T+T*i直接短语:T , i 句柄: T素短语(P72):T-T,i 最左素短语:T-T3 某LL(1)⽂法的预测分析表如下,请在下述分析过程表中填⼊输⼊串( a , a )$ 的分析过程。
201309学期编译技术作业2

201309学期《编译技术》作业2单项选择题第1题由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成()。
A、过程B、程序C、批量D、遍答案:D第2题正规集合L={A的n次幂|n≥0}相应的正规表达式是()。
A、a*B、a+C、aa*D、aa+答案:A第3题正规式的“.”读作()。
A、并且B、或者C、连接D、闭包答案:C第4题正规文法()二义性的。
A、可以是B、一定不是C、一定是答案:A第5题图的正规表达式为()。
A、{0,1}*B、{0,1}*-1|0{0,1}*C、{0,1}*-10{0,1}*D、{0,1}*-{10}*答案:C第6题与正规式r=(a|b)*等价的是()。
A、a*b*B、(ab)*C、(a|b)(a|b)+D、((a|b)*)*答案:D第7题文法G所描述的语言是()的集合。
A、文法G的字汇表V中所有符号组成的符号串B、文法G的字汇表V的闭包V*中的所有符号串C、由文法的识别符号推出的所有符号串D、由文法的识别符号推出的所有终结符号串答案:B第8题一个语言的文法是()。
A、有限的B、不唯一的C、唯一的答案:B第9题若文法G 定义的语言是无限集,则文法必然是()。
A、递归的B、前后文无关的C、二义性的D、无二义性的答案:A第10题给定文法如下:S→AB A→aA|a B→bB|b 句型aAB相对于A的短语是()。
A、aB、AC、aAD、AB答案:C多项选择题第11题编译过程中,语法分析器的任务是()。
A、分析单词是怎样构成的B、分析单词串是如何构成语句和说明的C、分析语句和说明是如何构成程序的D、分析程序的结构答案:B|C|D第12题指出下面哪些串是自动机可接受的()。
A、xyB、xyxxyC、yyyxD、xyyxyxyxxy答案:B|D第13题指出哪些串是自动机可接受的()。
A、yyyB、xxC、yyyxyD、yxxyE、yx答案:A|C|D|E第14题编译方法中自底向上的语法分析算法有()。
编译技术习题及参考答案2

编译技术习题及参考答案2单项选择题1.由于受到具体机器主存容量的限制,编译程序几个不同阶段的工作往往被组合成( )。
A、过程B、程序C、批量D、遍答案:D2.正规集合L={A的n次幂|n≥0}相应的正规表达式是( )。
A、a*B、a+C、aa*D、aa+答案:A3.正规式的“.”读作( )。
A、并且B、或者C、连接D、闭包答案:C4.以下中间代码的表示形式中,( )更便于优化。
A、三元式B、四元式C、树D、后缀式答案:B5.规范规约分析法每次都是对( )进行归约。
A、简单短语B、句柄C、最左短语D、素短语答案:B6.正规文法( )二义性的。
A、可以是B、一定不是C、一定是答案:A7.图的正规表达式为( )。
A、{0,1}*B、{0,1}*-1|0{0,1}*C、{0,1}*-10{0,1}*D、{0,1}*-{10}*答案:C8.与正规式r=(a|b)*等价的是( )。
A、a*b*B、(ab)*C、(a|b)(a|b)+D、((a|b)*)*答案:D9.高级语言编译程序常用的语法分析方法中,递归下降分析法属于( )分析方法。
A、自顶向下B、自底向上C、自左向右D、自右向左答案:A10.解释程序和编译程序是两类程序语言处理程序,它们的主要区别在于( )。
A、单用户与多用户的差别B、对用户程序的差错能力C、机器执行效率D、是否生成目标代码答案:D11.文法G所描述的语言是( )的集合。
A、文法G的字汇表V中所有符号组成的符号串B、文法G的字汇表V的闭包V*中的所有符号串C、由文法的识别符号推出的所有符号串D、由文法的识别符号推出的所有终结符号串答案:B12.一个语言的文法是( )。
A、有限的B、不唯一的C、唯一的答案:B13.编译程序是将___翻译成___。
( )A、汇编语言程序;机器语言程序B、高级语言程序;汇编语言程序或机器语言程序C、汇编语言程序或高级语言程序;机器语言程序或高级语言程序D、高级语言程序;机器语言程序或高级语言程序答案:B14.若文法G 定义的语言是无限集,则文法必然是( )。
北语15秋《编译原理》作业4

四种形式语言文法中,1型文法又称为_____文法。
A、短语结构文法
B、前后文无关文法
C、前后文有关文法
D、正规文法
标准答案:C
学员答案:C
本题得分:5
题号:6题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
内容:
解释程序处理语言时,大多数采用的是_____方法。
A、源程序命令被逐个直接解释执行
标准答案:A
学员答案:A
本题得分:5
题号:8题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
内容:
一个编译程序中,不仅包含词法分析,_____,中间代码生成,代码优化,目标代码生成等五个部分,还应包括符号表处理和出错处理。
A、语法分析
B、文法分析
C、语言分析
D、解释分析
标准答案:A
学员答案:A
D、句子
标准答案:D
学员答案:D
本题得分:5
题号:12题型:是非题本题分数:5
内容:
在程序中标识符的出现仅为使用性的。( )
1、错
2、对
标准答案:1
学员答案:1
本题得分:5
题号:13题型:是非题本题分数:5
内容:
自底而上语法分析方法的主要问题是候选式的选择。( )
1、错
2、对
标准答案:1
学员答案:1
本题得分:5
题号:14题型:是非题本题分数:5
内容:
语法分析时必须先消除文法中的左递归。( )
1、错
2、对
标准答案:1
学员答案:1
本题得分:5
题号:15题型:是非题本题分数:5
内容:
一个文法所有句子的集合构成该文法定义的语言。( )
201309学期Java语言与面向对象设计作业4

201309学期Java语言与面向对象设计作业4单项选择题第1题以下由for语句构成的循环执行的次数是()for(int i=0;true;i++);A、有语法错误,不能执行B、无限次C、执行1次D、一次也不执行答案:B第2题关于以下代码段的说法正确的是()1. String s="abcde"; 2. StringBuffer s1=new StringBuffer("abcde"); 3. if(s.equals(s1)) 4. s1=null; 5. if(s1.equals(s)) 6. s=null;A、第1行编译错误,String的构造器必须明确调用B、第3行编译错误,因为s与s1有不同的类型C、编译成功,但执行时在第5行有异常抛出D、编译成功,执行过程中也没有异常抛出答案:D第3题在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if –elseB、switchC、tryD、throw答案:C第4题下面关于这段程序的命题哪一个是正确的? () 1. class HasStatic 2. { 3. private static int x=100; 4. public static void main(String args[]) 5. { 6. HasStatic hs1=new HasStatic(); 7. hs1.x++; 8. HasStatic hs2=new HasStatic(); 9. hs2.x++; 10. hs1=new HasStatic(); 11. hs1.x++; 12. HasStatic.x++; 13. System.out.println(“x=”+x); 14. }15. }A、第8行不能通过编译,因为它是一个私有变量的引用B、第12行不能通过编译,因为它是一个私有变量的引用C、编译通过,输出结果是x=102D、编译通过,输出结果是x=104答案:D第5题下述有关try, catch和finally的命题中哪一个是错误的?A、try语句后面必须要跟有catch语句。
编译原理作业题整理

编译原理作业题整理第一章习题一1.解释性名词:源语言、目标语言、翻译、编译和翻译。
答:源语言:由译者翻译并用于编写源程序的语言。
目标语言:被翻译器翻译之后得到的语言,用于书写目标程序的语言。
翻译器:能够完成从一种语言到另一种语言的变换的软件。
编译器:一种特殊的翻译器,要求目标语言比源语言低级。
解释器:解释器是不同于编译器的语言处理器。
解释器与编译器不同样通过翻译来生成目标程序,而是直接执行源程序所指定的运算。
第二章词汇分析:假设∑={0,1},求1.写出包括010的所有字符串的标准公式2.写出不含010的所有字符串的标准形式答:1.(0|1)*(010)(0|1)*2.(10*1)*|((11|00)*|0111*0)*.2.(0 | 1)*010(0 | 1)*解:(1)re的分解树如下:r17r16r11r9r7r5r60r81r100(r15r14*)r131r120 | r4(r3)r21*r10|(2)根据分解树和基本的汤普森构造算法,逐步构造等价的NFA。
过程如下: start0r1:23r2:start415203?r3、r4:start1?6?415?r5:start0203?6?1?7?415?开始7'r6:08r7:start0203?6?1?708?415?开始8'r8:19r9:start0203?6?1?70819?415?start0r10:9’10r11:start0203?6?1?70819010?415?startr12:01213startr13:114150 r14、r15:start111213?16?11415?0r16:start10’1213?16?11?17?11415?r17:?从203开始?6.7081912? 1010? 11? 415?? 14?(3)由子集法构造等价的dfa过程如下:ABCDEFGHI0BBBEFFHF1CDCCGGIGI?\闭包({0})?{0,1,2,4,7}? A.a0??_closure({3,8})?{1,2,3,4,6,7,8}?ba1??_closure({5})?{1,2,4,5,6,7}?cb0u闭包({3,8})?{1,2,3,4,6,7,8}? bb1闭包({5,9})?{1,2,4,5,6,7,9}? Dc0??_closure({3,8})?bc1??_closure({5})?cd0u闭包({3,8,10})闭包({3,8})闭包({10})?B{10,11,12,14,17}? {1,2,3,4,6,7,8,10d1??_closure({5})?ce0u闭包({3,8,13})闭包({3,8})闭包({13})?B{11,12,13,14,16,17}? {1,2,3,4,6,7,8e1??_closure({5,9,15})??_closure({5,9})??_closure({15})?d?{11,12,14,15,16,17}? {1,2,4,5,6,7,9f0\u闭包({3,8,13})?Ff1??_closure({5,9,15})?{1,2,4,5,6,7,9,11,12,14,15,16,17}?gg0闭包({3,8,10,13})闭包({3,8,10})闭包({13})?e闭包({13})?E{11,12,13,14,16,17}? {1,2,3,4,6,7,8,10,11,12,13,14,16,17}? hg1u闭包({5,15})?c闭包({15})?C{11,12,14,15,16,17}?{1,2,4,5,6,7,11,12,14,15,16,17}? 我。
2013北航《编译技术》在线作业一答案
北航《编译技术》在线作业一1. 下面的优化项目中,不属于循环优化的是()。
A. 不变运算外提B. 削弱运算强度C. 消除归纳变量D. 合并已知运算正确答案:D 满分:4 分得分:42. LR(1)文法都是()。
A. 无二义性且无左递归B. 可能有二义性但无左递归C. 无二义性但可能是左递归D. 可以既有二义性又有左递归正确答案:C 满分:4 分得分:43. 正则文法()二义性的。
A. 可以是B. 一定不是C. 一定是D. 可以不是正确答案:B 满分:4 分得分:44. 规范规约是()。
A. 最左规约B. 最右规约C. 动态规约D. 静态规约正确答案:A 满分:4 分得分:45. 编译程序中语法分析器接收以()为单位的输入。
A. 单词B. 表达式C. 产生式D. 句子正确答案:A 满分:4 分得分:46. 有限自动机有()个接受状态A. 只能一个B. 只能两个C. 只能三个D. 0个、一个或多个正确答案:D 满分:4 分得分:47. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A. 自左至右B. 自上而下C. 自下而上D. 自右向左正确答案:B 满分:4 分得分:48. 编译器与要编译的源程序的接口阶段是()。
A. 扫描程序B. 语法分析程序C. 语义分析程序D. 代码生成器正确答案:A 满分:4 分得分:49. 类型转换时,整数到实数的转换称为()。
A. 截断B. 舍入C. 拓展D. 收缩正确答案:C 满分:4 分得分:410. 描述一个语言的文法是()。
A. 唯一的B. 不唯一的C. 可能唯一D. 可能不唯一正确答案:B 满分:4 分得分:411. 下面哪个文法是右递归的()A. A E→TE|TB. T→aTC. E→(E)D. E→a正确答案:A 满分:4 分得分:412. Chomsky 定义的四种形式语言文法中,3 型文法又称为()文法。
A. 短语文法B. 上下文无关文法C. 上下文有关文法D. 正规文法正确答案:D 满分:4 分得分:413. 已知文法:S→aAa|aBb|bAb|bBaA→x B→x ,则()。
编译原理与实践作业答案
作业题:2.1(a,c,d), 2.8(a,c,d), 2.12,3.3, 3.4,4.8, 4.125.8(a,b,c), 5.12,6.7, 6.8, 6.137.4, 7.15第二章作业: 2.1 (a) a | a[a-z]*a(c) [1-9][0-9]* (d) [0-9]*[02468]2.8(a )正则表达式中丢了单独a 的情况的比较多,另外有些同学在有NFA 到DFA 的转化过程中,不能够正确的确定最终的状态,造成有两个终结状态的情况。
(c )(d )问题比较多,建议同学画出DFA 图生成的全部过程。
Start[1-9]Startaa [b-z] a [b-z]2.123.4(c ).rewrite this grammar to establish the correct precedences for the operator.rexp -> rexp “|” rexp1 | rexp1 rexp1 -> rexp1 rexp2 | rexp2 rexp2 -> rexp3 * | rexp3 rexp3 -> (rexp) | letter 左结合 4.8(a ) 消除左递归lexp -> atom | list atom -> number | identifier list -> (lexp-seq) lexp-seq -> lexp lexp-seq’ lexp-seq’ -> lexp lexp-seq’ | εfirst (lexp)= { number ,identifier,( } first (atom)= { number, identifier } first (list) = { ( }first (lexp-seq)= { number ,identifier,( } first (lexp-seq’)= { number ,identifier,( , ε}follow(lexp)= { $,),number,identifier,(}follow (atom)= { $,), number,identifier,( }follow (list) = {$,), number,identifier,(}follow (lexp-seq)= { )}follow (lexp-seq’)= { )}4.12(a)LL(1)文法不会是二义的,因为它的分析表的每个入口是唯一的。
(完整版)编译原理习题及答案(整理后)
8、规范推导是最左推导,故选 d。
9、由 T→T,…和 T→(… 得 FIRSTVT(T))={(,,)};
由 T→S 得 FIRSTVT(S)⊂FIRSTVT(T),而 FIRSTVT(S)={b,∧,(};即
FIRSTVT(T)={b,∧,(,,};
因此选 c。
10、d 11、c 12、b 13、b 14、b
标语言
第二章
一、单项选择题
1、文法 G:S→xSx|y 所识别的语言是 。
a. xyx
b. (xyx)* c. xnyxn(n≥0) d. x*yx*
2、文法 G 描述的语言 L(G)是指 。
a. L(G)={α|S⇒+ α , α∈VT*}
b. L(G)={α|S⇒* α, α∈VT*}
c. L(G)={α|S⇒* α,α∈(VT∪VN*)} d. L(G)={α|S⇒+ α, α∈(VT∪VN*)}
6、一个文法所有句型的集合形成该文法所能接受的语言。
五、简答题
1、句柄 2、素短语
3、语法树
4、归约
六、问答题
1、给出上下文无关文法的定义。
2、文法 G[S]:
() () () () ()
5、推导
S→aSPQ|abQ
QP→PQ
bP→bb
bQ→bc
cQ→cc (1)它是 Chomsky 哪一型文法? (2)它生成的语言是什么? 3、按指定类型,给出语言的文法。 L={aibj|j>i≥1}的上下文无关文法。 4、有文法 G:S→aAcB|Bd
a. 23 B. 42 c. 30 14、规范归约指 。
d. 17
a. 最左推导的逆过程
b. 最右推导的逆过程
北航12春《编译技术》在线作业答案
北航12春《编译技术》在线作业答案北航《编译技术》在线作业一(100)一、单选题(共14 道试题,共56 分。
)1. 文法G 产生的()的全体是该文法描述的语言。
A. 句型B. 终结符集C. 非终结符集D. 句子2. 编译程序诸阶段的工作往往是()。
A. 顺序B. 并行C. 成批D. 穿插3. 如果r、s是正规式,则下面()不一定是正规式。
A. rsB. r|sC. r*D. r+s4. Σ={0,1}上的正规式(0|1)* 表示()。
A. 0开头的串B. 1开头的串C. 有一个0和一个1的串D. 由0、1组成的任意串5. 有限自动机有()个接受状态A. 只能一个B. 只能两个C. 只能三个D. 0个、一个或多个6. ()的任务是从源代码中读取字符并形成由编译器的以后部分处理的逻辑单元——记号A. 扫描程序B. 语法分析程序C. 语义分析程序D. 源代码优化程序7. 高级语言编译程序常用的语法分析方法中,递归下降分析法属于()分析方法。
A. 自左至右B. 自上而下C. 自下而上D. 自右向左8. 编译程序中语法分析器接收以()为单位的输入。
A. 单词B. 表达式C. 产生式D. 句子9. 在语法分析处理中,FIRST集合、FOLLOW集合、SELECT集合均是()。
A. 非终极符集B. 终极符集C. 字母表D. 状态集10. Chomsky 定义的四种形式语言文法中,1 型文法又称为()文法。
A. 短语文法B. 上下文无关文法C. 上下文有关文法D. 正规文法11. 词法扫描程序把源代码生成为()。
A. 记号流B. 语法树C. 词法树D. 目标代码12. 若文法G定义的语言是无限集,则文法必然是()。
A. 上下文无关文法B. 正规文法C. 二义性文法D. 递归文法13. 在自下而上的语法分析方法中,分析的关键是()。
A. 寻找句柄B. 寻找句型C. 消除递归D. 选择候选式14. 下述方法中,()不是自下而上分析方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
201309学期《编译技术》作业4
单项选择题
第1题 一个上下文无关文法消除了左递归,提取了左公共因子后是满足LL(1)文法的( )。
A、必要条件
B、充分必要条件
答案:A
第2题 语法分析常用的方法是( )。① 自顶向下 ② 自底向上 ③ 自左向右 ④ 自右向左
A、①②③④
B、①②
C、③④
D、①②③
答案:B
第3题 LL(1)文法的条件是( )。
A、对形如U::=x1 | x2 | … | xn 的规则,要求First(xi)∩ First(xj)=Φ,(i≠j)
B、a 和 c
C、对形如 U::=x1 | x2 | … | xn 的规则,若xi=>*ε, 则要求First(xj)∩ Follow(U)=Φ,(i≠j)
D、都不是
答案:C
第4题 高级语言编译程序常用的语法分析方法中,LL分析法属于( )分析方法。
A、自左至右
B、自顶向下
C、自底向上
D、自右至左
答案:B
第5题 程序基本块是指( )。
A、一个子程序
B、一个仅有一个入口和一个出口的语句
C、一个没有嵌套的程序段
D、一组顺序执行的程序段,仅有一个入口和一个出口
答案:D
第6题 规范规约中的可归约串都是( )。
A、句柄
B、素短语
C、最左素短语
D、最左终结符
答案:A
第7题 给定文法G如下:E→E+T T→T*F|F F→P↑F|P D→(E)|i,句型P*P+i的最左直接短语
为( )。
A、P*P
B、P
C、P+i
D、P*P+i
答案:B
第8题 与PASCAL语言存储分配方式相似的语言是( )。
A、C语言
B、BASIC语言
C、FORTRAN-77
答案:A
第9题 数组的内情向量中肯定不含有数组的( )的信息。
A、维数
B、类型
C、维上下界
D、各维的界差
答案:A
第10题 已知文法G1:P→PaP|PbP|cP|Pe|f,G1是( )。
A、二义文法
B、无二义的
答案:A
多项选择题
第11题 编译过程中,比较常见的中间语言有( )。
A、波兰表示
B、逆波兰表示
C、三元式
D、四元式
答案:B|C|D
第12题 编译程序生成的目标代码通常有形式( )。
A、可立即执行的机器语言代码
B、汇编语言程序
C、待装配的机器语言代码模块
答案:A|B|C
第13题 代码优化的主要目标是( )。
A、提高目标程序的运行速度
B、减少目标程序运行所需的空间
C、协调A和B
D、使生成的目标代码尽可能简短
答案:A|B|C
第14题 在编译程序采用的优化方法中,( )是在循环语句范围内进行的。
A、删除多余运算
B、删除归纳变量
C、强度削弱
D、代码外提
答案:B|C|D
判断题
第15题 句柄是一个句型的语法树中最左那棵子树的所有叶子的自左至右排列。
答案:错误
第16题 在S属性定义的分析树中,可以由根向叶的方向依次计算各节点的属性值。
答案:错误
第17题 对于数据空间的存贮分配,FORTRAN采用动态贮存分配策略。
答案:错误
第18题 后缀表示的最大优点是便于计算机处理表达式。
答案:错误
第19题 数组元素的地址计算与数组的存储方式有关。
答案:正确
第20题 目标代码生成时,应考虑如何充分利用计算机的寄存器的问题。
答案:正确