编译原理模拟试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明理工大学试卷(A)
考试科目:编译原理考试日期:命题教师:集体
学院:专业班级:学生姓名:风泪剑学号:
任课教师:上课班级:考试座位号:
一、填空(每空1分,共20分)
1、计算机执行用高级语言编写的程序主要有两种途径:___解释__和__编译___。
2、如果一个文法存在某个句子对应两棵不同的语法树,则称这个文法是二义性的。
3、扫描器的任务是从源程序中中识别出一个个单词符号。
4、语法分析器的输入是单词符号,其输出是语法单位。
5、规范规约中的可归约串是句柄
6、对于文法G1和G2,若有L(G1)=L(G2) (或G1
和G2是等价的。
7、最右推导的逆过程称为规范归约,也称为最左归约。
8、自上而下分析法采用___移进__、归约、错误处理、___接受__等四种操作。
9、语法分析的方法大致可分为两类,一类是自上而下分析法,另一类是自下而上分析法。
10、2型文法又称为上下文无关文法;3型文法又称为正则文法。
11、表达式式_a/(b-c)所代表的逆波兰表达式是___ abc-/_。
12、对于文法G,仅含终结符号的句型称为句子。
二、单项选择题(每题2分,共20分)
1、词法分析器的输出结果是()。
A.单词的种别编码B.单词在符号表中的位置
C.单词的种别编码和自身值D.单词自身值
2、3.一个句型中称为句柄的是该句型的最左()。
A.非终结符号B.短语C.句子D.直接短语
3、下推自动机识别的语言是()。
A.0型语言B.1型语言
C.2型语言D.3型语言
4、()型文法也称为正规文法。
A 0
B 1
C 2
D 3
5、采用自上而下分析,必须()。
A.消除左递归B.消除右递归
C.消除回溯D.提取公共左因子
6、设有文法G[I]: I→I1|I0|Ia|Ic|a|bc下列符号串中是该文法的句子有()。(1) ab0 (2) a0c01 (3) aaa (4) bc10
A. (1)
B. (2)(3)(4)
C. (3)(4)
D. (1)(2)(3)(4)
7、正则集合L={a n|n≥0}相应的正则表达式是()
A.a* B.a+ C.aa* D.aa+
8、在自上而下的语法分析中可能引起回溯的产生式是()。
A S→aAc|(T)
B T→ab|cD|fG
C A→aB|af
D B→cB|dG
9、若文法 G 定义的语言是无限集,则文法必然是______:
A .递归的
B 前后文无关的
C 二义性的
D 无二义性的
10、文法 G 产生的()的全体是该文法描述的语言。
A .句型 B. 终结符集 C. 非终结符集 D. 句子
三、(10分)对于文法G[E]:
E→E+T|E-T|T
T→T*F|T/F|F
F→(E)|i
(1)写出句型(F+i)-T*(E-T)的最右推导并画出语法树。
(2)写出上述句型的短语,直接短语和句柄。
。
四、(11
a Array
五、(15分) 对文法
G[S]: S→S,T|(T)|a
T→a(b)|a
(1) 消除该文法的左递归和提取左公因子;
(2) 求出文法改写后的各非终结符的FIRST和FOLLOW集合;
(3) 判断该文法是否是LL(1)文法。如果不是,说明理由;如果是,构造该文法的LL(1)分析表。
六、(20分)构造文法G[S]:
S->A|Ab| a
(1) 构造该文法识别全部活前缀的DFA或LR(0)项目集规范族;
(2) 判断该文法是否是SLR(1)文法。如果不是,说明理由;如果是,构造该文法的SLR(1)分析表。(p177 4-35 (4))
(1)识别全部活前缀的DFA如下:(以表格的形式来表示,很容易可以转化
(2)因为I2中含有冲突项目,所以不是LR(0)文法,其SLR(1)分析表如下:
FOLLOW(S)={#}∩{b}=φ(所以可以用SLR(1)规则解决冲突), FOLLOW(A)={b,#}
七、(4分)将将赋值语句x:= A*(B+C)+D翻译成四元式。(p254 5-8(1))(+,B,C,T1)
(*,A,T1,T2)
(+,T2,D,T3)
(=,T3,0,X)