编译原理---(预测分析first,follow)

	E   --> TE' 
	E'  --> +TE'|ε
	T   --> FT'
	T '  --> *FT'|ε
	F   --> ( E ) | id

1) first(F)={ (, id }因为F的两个产生式以"(""id"开头 2) first(E)=first(T)=first(F)={ (, id }因为E的产生式为TE',first(E)=first(T) 3) first(E')={ +,ε }因为E'的产生式体以+开头,ε开头 4) first(T)=first(F)={ (, id }因为T只有一个产生式,而该产生式的体以F开头,又因为F不能推倒出ε,所以first(T)first(F)必然相同. 5) first(T')={ *, ε }因为T'的产生体以"*" 和 "ε"开头

6) follow(E) = { ), $}.因为F --> ( E ) | id 在的右边是 “)’,又因为E为开始符号,所以后面一定是”$” 7) Follow(E’) = { ), $ }因为follow(E’)等于follow(E),因为产生式E --> TE' 8) Follow(T) = { +, ), $} 因为产生式E --> TE'推导出T的后面是E’,first(E’)={+,ε},所以follow(T)==follow(E’)除了ε 9) Follow(T’) = Follow(T) = { +, ), $ } 因为T’只出现在T的产生式的尾部,因此必然有follow(T’)==follow(T) 10) Follow(F) = { *, +, ), $ }因为产生式T --> FT',说明first(T’)={*,ε},这个因为存在ε所以follow(F)==follow(T’)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值