西理工编译原理试题集1-7(10)
S T N2
FIRST { a,^,( } { a,^,( } { ,,ε -
FOLLOW { #,,,) } { ) } { ) }
对左部为N2的产生式可知: FIRST (, S N2)={,} FIRST (ε)=,ε-
FIRST(, S N2) ∩ FIRST(ε)=?;
且:FIRST(N2) ∩ FOLLOW(N2)= ? 所以文法是LL(1)的。
得到预测分析表 : a ^ ( ) , # S S→a S→^ S→( T ) T T→SN2 T→SN2 T→SN2 N2 N2→ε N2→,SN2
也可由预测分析表中无多重入口判定文法是LL(1)的。 对输入串(a,a)#的分析过程为: 分析栈 输入串 所用产生式 #S a,a)# #)T( #)T #)N2S #)N2a #)N2 #)N2S, #)N2S #)N2a #)N2 #) # a,a)# ,a)# ,a)# ,a)# a)# a)# )# )# # # # S→(T) T→SN2 S→a N2→,SN2 S→a N2→ε 可见输入串(a,a)#是文法的句子。
6. 设文法G(S):
S→(L)|aS|a L→L,S|S (1)消除左递归和提取左因子;
(2)计算每个非终结符的FIRST和FOLLOW; (3)构造预测分析表。
(4)已知输入串(aa,a)a,该输入串是否文法的句子?给出分析过程。
7. 对于文法
bexpr → bexpr or bterm | bterm bterm → bterm and bfactor | bfactor
bfactor→ not bfactor | (bexpr) | true | false 构造一个预测分析器(表)。
答案:
消除左递归和提取左因子
bexpr → bterm bexpr′
bexpr′ → or bterm bexpr′ | ? bterm → bfactor bterm′
bterm′ → and bfactor bterm′ | ?
bfactor→ not bfactor | (bexpr) | true | false
First(bexpr)=First(bterm)=First(bfactor)={ not, (, true,false } First(bexpr′)=, or , ? } First(bterm′)=, and, ? }
Follow(bexpr)=Follow(bexpr′)=, ) , $ - Follow(bterm)=Follow(bterm′)=,or , ) , $- Follow(bfactor)={and , or, ) , $}
8. 已知G[R]的产生式如下: R → R′ | ′T | T T → TF | F F → F* | C C → (R) | a | b
构造它的LL(1)分析表,并写出对输入串a|ba*的分析过程。
答案:
①消除上面文法中的左递归
R → TR′
R′ → ′|′ TR′ | ε T → FT′ T′ → FT′ | ε F → CF′ F → *F′ | ε C → (R) | a | b
②计算FIRST(α)和FOLLOW(A)
③构造LL(1)分析表。
9. 已知文法如下:
S→S*T | S/T | T T→T+F | T-F | F F →(S) | i | i e i
构造预测分析表,并给出对输入串i/i*i+i的分析过程。
10. 已知文法:
S→Ac|c A→Bb|b B→Sa|a 构造预测分析表,给出对输入串cabc的分析过程。
11. 已知文法G: S → ( L | a L → S , L | )
(1)构造文法 G 的预测分析表。 (2)若输入串为“(a,)”,请给出语法分析过程。
解(1)
1)求各非终结符的 FISRT 集和 FOLLOW 集: FIRST(S) = { (, a ) FIRST(L) = { a }? FIRST(S) = { (, ), a }
FOLLOW(S) = , ′,′, # - FOLLOW(L) = FOLLOW(S) =, ′,′, # - 2)预测分析表: ( a , } # S S→ ( L S→ a L L→ S , L L→ S , L L → ) (2)对输入串 “(a,)”的分析处理过程如表1所示。 表1 对输入串 “(a,)”的分析过程
步骤 分析栈 输入串 0 1 2 3 4 5 6 7 8 #S #L( #L #L, a #L, #L #) # 所用产生式 (a,)# (a,)# S → ( L a,)# a,)# ,)# )# )# # L → S , L S→a L → ) #L, S a,)#
12. 给定文法
G=({ i,d,′(′,′)′ },{E,A},E,P) 其中 P:
E →iA E →EA A → i A →d A → (E)
(1)消除左递归;
(2)计算改写后文法中各非终结符的 FIRST 集和 FOLLOW 集; (3)构造改写后文法的预测分析表;该文法是 LL(1) 文法吗?。 解
(1)消除左递归后的文法为: E → iAE′
E′→ ? | AE′ A → i A →d A → ( E )
(2)各非终结符的 FISRT集和FOLLOW集 FIRST( E ) ={i}
FIRST(E′) = ,i, d, (, ?) FIRST( A ) ={i, d, () FOLLOW( E ) ={?, # } FOLLOW(E′) =, -, # -
FOLLOW( A ) ={i, d, (, ), # }
(3)改写后文法的预测分析表: E i d ( ) # E→iAE′ A→d E′ E′→AE′ E′→AE′ E′→AE′ E →? E→ ? A A→i A→ (E) 预测分析表中无多重入口,因此该文法是 LL(1) 文法.
13. 已知文法: A→aABe|a B→Bb|d
ⅰ.消除左递归,若有左因子则提取之;
ⅱ.对(1)中得到的文法求First集合和Follow集合 ⅲ.对(1)中得到的文法构造一个预测分析表; ⅳ.给出对句子aadb上的分析动作
答案:
改写文法为: 0) A→a N3 1) N3→A B e 2) N3→ε 3) B→d N2 4) N2→b N2 5) N2→ε
A B FIRST FOLLOW {a} {d} {#,d} {e} {e} {#,d} N2 {b,ε} N3 {ε,a}
Predicting Analysis Table
A B a A→a N3 e b d # N3→ε B→d N2 N3→ε N2 N2→ε N2→b N2 N3 N3→A B e
由预测分析表中无多重入口判定文法是LL(1)的。
14. 已知文法:
S→Aa|b A→SB
…… 此处隐藏:1102字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




