28.04.2014 Views

Metody Realizacji Jezyków Programowania - Analiza składniowa

Metody Realizacji Jezyków Programowania - Analiza składniowa

Metody Realizacji Jezyków Programowania - Analiza składniowa

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!