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

题目

文法:
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;
编译原理学习笔记(三十一)~习题_第1张图片
分析表:
编译原理学习笔记(三十一)~习题_第2张图片
思考:

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

编译原理学习笔记(三十一)~习题_第3张图片
2.

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

你可能感兴趣的:(编译原理,编译原理,学习笔记)