Hledejte v chronologicky řazené databázi studijních materiálů (starší / novější příspěvky).

Deterministické bezkontextové jazyky

Deterministické bezkontextové jazyky – tvoří vlastní podmnožinu bezkontextových jazyků. Pro tyto jazyky lze sestrojit syntakticý analyzátor pracující bez návratů. Jedním z několika typů gramatik, které generují deterministické jazyky, je tzv. LL gramatika. LL gramatika je schopna generovat třídu deterministických jazyků, tzv. LL jazyky, které tvoří vlastní podmnožinu deterministických jazyků. Princip: ze všech A-pravidel tedy musíme vybrat tu variantu, jejíž pefix odpovídá požadovanému řetezci symbolů ve větě, používáme FIRST a FOLLOW. Analýzu věty jazyka popsaného gramatikou typu LL, provádí zásobníkový automat, řízený rozkladovou tabulkou, pop (odstranění vrcholu zásobníku), accept (přijetí věty), error.

Implementace syntaktického analyzátoru – metodou rekurzivního sestupu. Metoda modeluje činnost zásobníkového automatu na základě modelu rozkladové tabulky. Zásobník automatu zde představuje systémový zásobník použitý při volání procedur. Pro každý nonterminál je sestavena procedura, jejíž tělo odpovídá jednotlivým prvkům daného řádku rozkadové tabulky, nonterminálu odpovídá volání příslušné procedury a terminálu volání procedury reprezentující operaci pop.

Syntaxí řízené překladové schéma – pod pojmem překlad budeme chápat proces syntaktické analýzy vstupní věty, při němž jsou prováděny kromě akcí spojených s rozkladem ještě další akce, budující žádané výstupní hodnoty. Těmito výstupními hodotami mohou být příkazy nebo instrukce, reprezentující sémanticky identický proces jako vstupní jazyk, nebo datové struktury, získané analýzou vstupní věty. V každém případě musí být gramatika, popisující vstupní analyzovaný jazyk, obohacena v příslušných místech o požadavky na akce realizující výstupní hodnoty – tzv. sémantické akce.

Žádné komentáře:

Okomentovat