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É AUTOMATY60<br />
Obrázek 4.7: Derivační stromy věty i + i ∗ i<br />
Obrázek 4.8: Derivační strom věty i + i ∗ i v G 2<br />
použije víceznačné gramatiky a nežádoucí interpretace víceznačné věty se vyloučí<br />
dodatečným sémantickým pravidlem.<br />
Příklad 4.9 Jedním z nejznámějších příkladů víceznačnosti v programovacích<br />
jazycích jsou konstrukce s then a else. Skutečně, přepisovací pravidla<br />
S → if b then S else S<br />
S → if b then S<br />
S → p<br />
kde b značí booleovský výraz a p jiný, než podmíněný příkaz, vedou k víceznačné<br />
interpretaci podmíněného příkazu. Např. k větě<br />
if b then if b then p else p<br />
existují dva různé derivační stromy. Zatímco Algol 60 tuto konstrukci nedovoloval<br />
(za then musel být složený příkaz), jazyk Pascal uvedenou víceznačnost řeší