java aab全排列_编译原理习题课答案.ppt

2)考虑下列产生式: FIRST(+E)∩FIRST(ε)={+}∩{ε}=φ FIRST(+E)∩FOLLOW(E')={+}∩{#,)}=φ FIRST(T)∩FIRST(ε)={(,a,b,^}∩{ε}=φ FIRST(T)∩FOLLOW(T')={(,a,b,^}∩{+,),#}=φ FIRST(*F')∩FIRST(ε)={*}∩{ε}=φ FIRST(*F')∩FOLLOW(F')={*}∩{(,a,b,^,+,),#}=φ FIRST((E))∩FIRST(a) ∩FIRST(b) ∩FIRST(^)=φ 所以,该文法式LL(1)文法. 4.3.1 S?Abc A?a| ? B?b| ? 是,满足三个条件 P134-5考虑文法S→AS|b A→SA|a1、列出这个文法的所有LR(0)项目2、构造这个文法的LR(0)项目集规范族及识别或前缀的DFA3、这个文法是SLR的吗?若是,构造出它的SLR分析表4、这个文法是LALR或LR(1)的吗 P134-5考虑文法S→AS|b A→SA|a1、列出这个文法的所有LR(0)项目2、构造这个文法的LR(0)项目集规范族及识别或前缀的DFA3、这个文法是SLR的吗?若是,构造出它的SLR分析表4、这个文法是LALR或LR(1)的吗 P135-6 P135-7证明下面文法是SLR(1)文法,但不是LR(0)文法S→A? A→Ab|bBa ?B→aAc|a|aAb?解:文法G[S]:?0:S→A? 1:A→Ab? 2:A→bBa? 3:B→aAc? 4:B→a 5:B→aAb 预测分析表构造算法: 1.对文法中的每个产生式A → α执行第二步和第三步; 2.对每个终结符a ∈FIRST(α ),把A →a加到M[A,a]中; S →a; S →∧; S →(T); T →ST’; T’ →,ST’ T’ → ε FTRST(a)={a} FIRST(∧)={∧} FIRST((T))={( } FIRST(ST’)={a,∧,(} FIRST(,ST’)={,} FIRST(ε)={ε} ? a ∧ ( , ) # S ? ? ? T ? ? ? T’ ? ? ? ? S →a S →∧ S →(T) T →ST’ T →ST’ T →ST’ T’ →,ST’ 3.若ε ∈FIRST(α ),则对于任何b ∈FOLLOW(A)把A→ α加至M[A,b]中 FOLLOW(T’)=FOLLOW(T)={)} T’ → ε 递归子程序: procedure S; begin if sym='a' or sym='^' then abvance else if sym='(' then begin advance;T; if sym=')' then advance; else error; end else error end; procedure T; begin S;T’ End procedure T’; begin if sym=‘,’ then bengin advance; S;T’ end End sym:是输入串指针IP所指的符号 advance:是把IP调至下一个输入符号 error:是出错诊察程序 补充题:有文法: E →TE’ E’ →ATE’ |ε T →FT’ T’ →MFT’ |ε F →(E)| i A →+ | - M →* | / (1)求First、Follow集,判断是否是LL(1)文法? (2)若是构造LL(1)分析表? (3)简述LL(1)分析器的工作原理。 4.2:有文法: E →TE’ E’ →+E |ε T →FT’ T’ →T |ε F →PF’ F’ →*F’ |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值