解析 - 自上而下/第一&跟随

时间:2012-01-30 01:36:36

标签: parsing grammar context-free-grammar

我有这个Grammer,我正在尝试找到First和Follow套装。我不确定我是否正确行动,因为我的跟随套件从未包含R

中的第一个

语法

E --> TP
P --> +TP | ε
T --> FQ
Q --> FQ | ε
F --> (E)R | iR
R --> *R | ε

第一套 -

First(E) = First(T) = First(F) = { (, i }
First(P) = { +, ε }
First(Q) = First(F) = { (, i }   // not needed i dont think
First(R) = { *, ε }

关注集 -

Follow(E) = { $, ) }
Follow(P) = Follow(E) = { $, ) }
Follow(T) = First(P) -{ε} + Follow(E) = {+, $, ) }
Follow(Q) = Follow(T) = { +, $, ) }
Follow(F) = First(Q)-{ε} + Follow(T) + First(F) = { +, (, ) , $, i }
Follow(R) = Follow(F) = { +, (, ) , $, i }

我从未在下面的套装中获得第一名(R)所以我不确定该怎么想。但是,我不认为它可能。我对我的第一集和跟随集是正确的还是我的理解有些不对?

1 个答案:

答案 0 :(得分:0)

由于R没有开始任何制作,因此First(R)不会发挥作用(除非是/从R开始)。所以你不应该从其他任何东西到达它。