You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
KAPITOLA 4. BEZKONTEXTOVÉ JAZYKY A ZÁSOBNÍKOVÉ AUTOMATY55<br />
Obrázek 4.2: Derivační strom<br />
<br />
<br />
<br />
<br />
µ<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
S<br />
<br />
❅<br />
❅<br />
❅<br />
A ❅<br />
<br />
❅<br />
❅ ❅<br />
❅<br />
❅<br />
❅ ❅<br />
❅❅<br />
λ<br />
µAλ<br />
−→<br />
=⇒<br />
<br />
<br />
<br />
<br />
µ<br />
<br />
<br />
<br />
<br />
S<br />
<br />
❧ ❧❧❧❧❧❧❧❧❧❧<br />
A<br />
<br />
✓❝ ✁❅<br />
◗<br />
✁ ❅ ❝❝❝❝ ◗◗◗◗◗<br />
✓<br />
✓<br />
✁ ❅<br />
✓<br />
✁ . . . ❅ <br />
X 1 X 2 X n<br />
µX 1 X 2 . . . X n λ<br />
λ<br />
Obrázek 4.3: Konstrukce derivačního stromu<br />
Příklad 4.3 Uvažujme gramatiku<br />
G = ({〈výraz〉, 〈term〉, 〈faktor〉}, {+, −, ∗, /, (, ), i}, P, 〈výraz〉),<br />
které se často používá pro popis aritmetického výrazu s binárními operacemi<br />
+, −, ∗, /. Terminální symbol i odpovídá identifikátoru. Množina P obsahuje tato<br />
přepisovací pravidla:<br />
〈výraz〉 → 〈term〉 | 〈výraz〉 + 〈term〉 | 〈výraz〉 − 〈term〉<br />
〈term〉 → 〈faktor〉 | 〈term〉 ∗ 〈faktor〉 | 〈term〉/〈faktor〉<br />
〈faktor〉 → (〈výraz〉) | i<br />
Jak lze snadno ukázat, větami jazyka L(G) jsou například řetězce i, (i), i ∗ i,<br />
i ∗ i + i, i ∗ (i + i).<br />
Předpokládejme, že máme zkonstruovat derivační strom pro větnou formu<br />
〈výraz〉 + 〈term〉 ∗ 〈faktor〉. Nejprve ukažme, že tento řetězec je skutečně větnou<br />
formou:<br />
〈výraz〉 ⇒ 〈výraz〉 + 〈term〉 ⇒ 〈výraz〉 + 〈term〉 ∗ 〈faktor〉<br />
Derivační strom začínáme vytvářet od výchozího symbolu:<br />
〈výraz〉<br />
✉<br />
První přímé derivaci odpovídá konstrukce:<br />
〈výraz〉<br />
✉<br />
✉✥✥✥✥✥✥❵❵❵❵❵❵<br />
✉ ✉<br />
〈výraz〉 + 〈term〉