0
点赞
收藏
分享

微信扫一扫

编译原理学习笔记(三十一)~习题


题目

文法:
L →E ; L | ε
E →TE’ E’→ + T E’ | - T E’ | ε
T →FT’ T’→*F T’|/FT’|mod FT’|ε
F →(E) | id | num

FIRST()和FOLLOW()集合:

FIRST(F/T/E)= {(  id  num}
FIRST(T') = {* / mod ε}
FIRST(E') = {+ - ε}
FIRST(L) = {ε ( id num}
FOLLOW(L) = {#}
FOLLOW(E/E')= {) ;}
FOLLOW(T/T')= {+ - ; )}
FOLLOW(F) = {+ - * / mod ) ;}

分析句子: id+id*id;

编译原理学习笔记(三十一)~习题_学习笔记


分析表:

编译原理学习笔记(三十一)~习题_编译原理_02


思考:

  1. 上面的句子在分析过程中哪几步是匹配了FOLLOW集合里的终结符而进行的动作?
  2. 需要去匹配FOLLOW集合中元素的前提条件是什么?


编译原理学习笔记(三十一)~习题_学习笔记_03


2.

对文法的每个产生式A→α
有ε∈FIRST(α)


举报

相关推荐

0 条评论