姓名__________ 学号_________________ 院系___________ 班级___________
--------------------------------------请在装订线以下答题-----------------------------------
烟台大学文经学院信息工程系2018~2019学年第 一 学期
编译原理 试卷A
(考试时间为120分钟)
一、简答题(30分)
1.一个编译器包括什么?(5分)
2.cfg 和yacc 的英文释义分别是什么?(4分)
3.在yacc 中,%token 和%left 分别表示什么?(8分)
4.将NFA 确定化:(5分)
5. 给出生成下述语言的上下文无关文法:
(1){|1,0}n m n
a b a n m ≥≥(4分) (2)
{1010|,0}n m m n n m ≥(4分) 二、应用题(70分)
1. (1)构造最小化DFA :()()*||a b a a b (6分)
(2)给出正则表达式,构造等价的NFA :()10|1*101(6分)
2.已知拓广后的文法G ’和LR 分析表如下:
G ’:
S’→ S (0) S → SS+ (1)
S → SS* (2)
写出输入串 11*2+#的LR分析过程(14分)
3.对于下述SDD,给出(3+4)*(5+6)n对应的注释语法分析树(10分)
4.已知文法G: S → aBA (0)
A → Ba|ε(1)
B → bB|a (2)
(1)求出文法G的First和Follow集(12分)
(2)判断文法G是否为LL(1)文法?如果是,请写出预测分析表;如果不是,请说明理由(10分)
(3)判断文法G是否为LR(0)文法?如果是,请画出对应的自动机;如果不是,请说明理由(12分)。