und
Follow-Menen der
Ziel
> bestimmen aus Grammatik (First-Meen) :
Fur
jede Produktion
Bestimmung der
FIRST-Merge
der linken Seite .
First-Menen Sustes
bestimmen :
Terminal suchen
I 11 I
First (F) =
> (E) lid = 3) id) ,
First (TY) = > *
FT'(d =
4 ,
99
First (T) => FT => First (F) =
(( id)
,
= 3C id) ,
11
wenn kein Terminal vorhunden
,
dann First Mene vom ersten Nichtterminal
bernehmen .
First (E') = + TE ' x = 1 +
,
3)
First (E) = > TE => First (T) =
31 id)
,
=
/ in)
Zusammenfassung First-Mengen :
First-Mengen in Parse-Tabelle eintragen :
I
ich + * C ( $$
First (E) = 3) , id) E E -
> TEL E- > TE'
I
# irst (E'j = 3 +
,
9) E E' - + TE'
First (T) =
3) ,
id) T T - FT T -
> FT
I
First (T') < *, 9) T -> FT
-
=
I *
First (f) 3 C id) # id F
=
,
- -
(E)
Follow-Mengen berechnen : Ziel (Follow-Megen) :
Fur
jede Produktion A + wit deFirst(a) Bestimmun von Follow (A)
Produktion anschauen : dh. .
die Produktion, die in ein a
groduzieren .
Das Nichtterminal suchen, welches das
Startsymbol ist, wird $$ zu-Follow-Menge hinzugefit .
Follow (E) (El
Follow
schaun wo das Nichtterminal (E) in der schauen wo das Nichtterminal (E) in der
Produktion vorkommt, Produktion vorkommt
.
1 wenn das Nichtterminal (E) vo r einem 1
. E'Gumut in der Produktion E'- + TE' va r :
Terminal steht , wird das Terminal den nach dem E'kommt kein Nichtterminal sowie
Follum-Meye hinzugefigt .
Gein Terminal , duher ist Follow (E) Follow(E')
=>
Follow(E) = 3$$ , 13
E kommt in der Produktion E-TE'
Follow (T) vor :
nach dem E'kommt kein Nichtterminal sowie
schauen wo das Nichtterminal (i) in der
Gein Terminal , duher ist Follow (E) Follow(E)
Produktion vorkommt
1
. Tkommt in der Produktion E-TE' vo r :
=>
Follow (El) =
3) $$3 ,
·
nach dem T
folgt ein Nichtterminu (E)
,
Follow (TJ (E') / 133 3
dann
gilt First h
< +
E-> TE
=
(E)
·
und die
Follow-Menge von wird
E'- + TE E
der Follow-Meelt) hinzugefigt
↳ Follow (T) < Follow (E) =
3 +
,
), $$3 T - > FT
↑ kommt in der Produktion E'-TE :
T FT's
vor
-
> *
·
nach T falt ein Nichtterminal (E), ...
ist identisch , du Follow (E) =
Follow (E) ist
= - (E) id
=> Follow (T) = 3 +
,
1, $$)