Изменения

Перейти к: навигация, поиск

Алгоритм Эрли

153 байта добавлено, 06:29, 3 января 2012
Пример
<b><tex>I_0</tex></b> <br>
<tex>[S' \rightarrow \cdot S, 0]</tex> — из инициализации <br><tex>[S \rightarrow \cdot T + S, 0]</tex> — из правила 1 3 <br><tex>[S \rightarrow \cdot T, 0]</tex> — из правила 1 3 <br><tex>[T \rightarrow \cdot F * T, 0]</tex> — из правила 3 <br><tex>[T \rightarrow \cdot F, 0]</tex> — из правила 3 <br>
<tex>[F \rightarrow \cdot ( S ), 0]</tex> — из правила 3 <br>
<tex>[S F \rightarrow \cdot a, 0]</tex> — из правила 3 <br>
<b><tex>I_1</tex></b> <br>
<tex>[F \rightarrow ( \cdot S ), 0]</tex> — из правила 4 1 <br><tex>[S \rightarrow \cdot T + S, 1]</tex> — из правила 6 3 <br><tex>[S \rightarrow \cdot T, 1]</tex> — из правила 6 3 <br><tex>[T \rightarrow \cdot F * T, 1]</tex> — из правила 6 3 <br><tex>[T \rightarrow \cdot F, 1]</tex> — из правила 6 3 <br><tex>[F \rightarrow \cdot ( S ), 1]</tex> — из правила 6 3 <br><tex>[F \rightarrow \cdot a, 1]</tex> — из правила 6 3 <br>
<b><tex>I_2</tex></b> <br>
<tex>[F \rightarrow a \cdot, 1]</tex> — из правила 4 1 <br><tex>[T \rightarrow F \cdot * T, 1]</tex> — из правила 5 2 <br><tex>[T \rightarrow F \cdot , 1]</tex> — из правила 52<br><tex>[S \rightarrow T \cdot , 1]</tex> — из правила 5 2 <br><tex>[S \rightarrow T \cdot + S, 1]</tex> — из правила 5 2 <br><tex>[F \rightarrow ( S \cdot ), 0]</tex> — из правила 5 2 <br>
<b><tex>I_3</tex></b> <br>
<tex>[S \rightarrow T + \cdot S, 1]</tex> — из правила 4 1 <br><tex>[S \rightarrow \cdot T + S, 3]</tex> — из правила 6 3 <br><tex>[S \rightarrow \cdot T, 3]</tex> — из правила 63<br><tex>[T \rightarrow \cdot F * T, 3]</tex> — из правила 6 3 <br><tex>[T \rightarrow \cdot F, 3]</tex> — из правила 6 3 <br><tex>[F \rightarrow \cdot ( S ), 3]</tex> — из правила 6 3 <br><tex>[F \rightarrow \cdot a, 3]</tex> — из правила 6 3 <br>
<b><tex>I_4</tex></b> <br>
<tex>[F \rightarrow a \cdot , 3]</tex> — из правила 4 1 <br><tex>[T \rightarrow F \cdot * T, 3]</tex> — из правила 5 2 <br><tex>[T \rightarrow F \cdot , 3]</tex> — из правила 52<br><tex>[S \rightarrow T \cdot + S, 3]</tex> — из правила 5 2 <br><tex>[S \rightarrow T \cdot , 3]</tex> — из правила 5 2 <br><tex>[S \rightarrow T + S \cdot , 1]</tex> — из правила 5 2 <br><tex>[F \rightarrow ( S \cdot ), 0]</tex> — из правила 5 2 <br>
<b><tex>I_5</tex></b> <br>
<tex>[F \rightarrow ( S )\cdot , 0]</tex> — из правила 4 1 <br><tex>[T \rightarrow F \cdot * T, 0]</tex> — из правила 5 2 <br><tex>[T \rightarrow F \cdot , 0]</tex> — из правила 52<br><tex>[S \rightarrow T \cdot + S, 0]</tex> — из правила 5 2 <br><tex>[S \rightarrow T \cdot , 0]</tex> — из правила 5 2 <br><tex>[S' \rightarrow S \cdot , 0]</tex> — из правила 2 <br>
Так как <tex>[S ' \rightarrow T S \cdot , 0] \in I_5</tex>, то <tex>\omega \in L(G) </tex>.<br>
==Литература==
''Ахо А., Ульман Д.'' Теория синтакcического анализа, перевода и компиляции. Том 1. Синтаксический анализ. Пер. с англ. — М.:«Мир», 1978. С. 358 — 364.
Анонимный участник

Навигация