Metody Realizacji Jezyków Programowania - Analiza składniowa
Metody Realizacji Jezyków Programowania - Analiza składniowa
Metody Realizacji Jezyków Programowania - Analiza składniowa
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Wyliczanie FOLLOW<br />
Dla każdych A, X ∈ N, a ∈ T , α, β ∈ (N ∪ T ) ∗ mamy:<br />
A → αXaβ ∈ P , to a ∈ FOLLOW (X).<br />
A → αX ∈ P, to FOLLOW (A) ⊆ FOLLOW (X)<br />
A → αXβ ∈ P, to FIRST (β) \ {#} ⊆ FOLLOW (X)<br />
A → αXβ ∈ P, β → ∗ ε to FOLLOW (A) ⊆ FOLLOW (X)<br />
# ∈ FOLLOW (S) dla symbolu startowego S.<br />
Prosty algorytm: zgodnie z powyższymi regułami powiększamy zbiory<br />
FOLLOW tak długo, jak któryś ze zbiorów się powiększa (obliczamy<br />
najmniejszy punkt stały).<br />
Marcin Benke (MIM UW) <strong>Metody</strong> <strong>Realizacji</strong> Języków <strong>Programowania</strong> 11 października 2010 28 / 31