北京化工计算机学,北京化工大学 信息科学与技术学院计算机系

0601~0605

Flex,Bison

NFA DFA DFA (LL(1)) (LR(0)SLR(1)LR(1)LALR(1))

1 .

2.R=(a*b)*ba(a|b)* DFA(1) NFA(2) NFA DFA(3) DFA

3.G[E]ET | E+T| E-T TF | T*F | T/F Fi | (E)(E+T)*i+FG

4.1G[S]=({b},{S,B},S, {S b|bB,BbS}),_________

2L={anbbn|n 1}_______L

3G[I] II1 | I0 | Ic | a | b | c ________ ab0 a0c01 aaa bc10

4. 1G[S]=({b},{S,B},S, {S b|bB,BbS}), LG[S]={b2i+1|i 0} 2L={anbbn|n 1} Z aAb A aAb | b L3G[I] II1 | I0 | Ic | a | b | c ab0 a0c01 aaa bc10

5. G[S]SEEAa | bBAcA|dBcB|dLR(0)bccdG[S]

6.1 exp exp + term | exp - term | term _________

2LALR(1)LR(1)T/F

7. lexpatom|listatomnumber|identifierlist(lexp-seq)lexp-seqlexp-seq lexp | lexp1) 2) FirstFollowlexp-seq->lexp lexp-seq lexp-seq->lexp lexp-seq|

First(lexp) = { n, i, ( },Follow = { $,n,i,(,) }First(atom) = { n, i },Follow = { $,n,i,(,) }First(list) = {(},Follow = { $,n,i,(,) }First(lexp-seq) = { n,i,( },Follow = { ) }First(lexp-seq) = {,n,i,( },Follow = { ) }

8.LR(1)LALR(1)S a A d | b B d | a B e | b A eA cB c

9.-A aB {print 0}A c {print 1}B Ab {print 2}aacbb

aacbb12020bBcAAaBAabA aB {print 0} A c {print 1} B Ab {print 2}

10. TINY programread x ; { input an integer }if 0 < x then { dont compute if x

read x t1=x>0if_false t1 goto L1fact=1label L2t2=fact*xfact=t2t3=x-1x=t3t4= x= =0if_false t4 goto L2 write factlabel L1halt(sub, x, 1, t3 )(asn, t3, x, _ )(eq, x, 0, t4 )(if_f, t4, L2, _)(wri, fact, _, _ )(lab, L1, _ , _ )halt, _, _, _ )(rd, x , _ , _ )(gt, x, 0, t1 )(if_f, t1, L1, _ )(asn, 1,fact, _ )(lab, L2, _ , _ )(mul, fact, x, t2 )(asn, t2, fact, _ )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值