10.02.2019 Views

opora

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〉

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

Saved successfully!

Ooh no, something went wrong!