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

Lexikální analyzátor

Lexikální analyzátor – často se vyskytuje situace, že vstupní páska (přesněji vstupní soubor) obsahuje věty různých jazyků oddělené speciálními symboly nepatřícími ani do jednoho jazyka – oddělovači. Do jednoho programového modulu je tedy potřebné zabudovat několik konečných automatů, přičemž výsledkem činnosti je informace, udávající název jazyka, o jehož větu se jedná, včetně informace o tvaru dané věty. Typickým příkladem takového vstupního souboru je například text programu v nějakém programovacím jazyce, který obsahuje zápisy identifikátorů, reálných čísel, řetězců, klíčových slov a dalších posloupností. Programový modul, který je schopen ve vstupním textu rozlišovat podobné prvky, se nazývá lexikální analyzátor. Je tvořen automatem vzniklým sjednocením, zřetězením a iterací automatů pro jednotlivé jazyky.

Jazyky typu 2 – do této třídy patří běžně používané programovací a komunikační jazyky. Oproti jazykům typu 3 je možné větu generovat bezkontextovouz gramatikou různými způsoby, protože ve větné formě se vyskytuje obecně libovolný počet nonterminálů a pořadí jejich přepisu může být libovolné.

Derivační strom – grafické znázornění konstrukce věty pomocí pravidel bezkontextové gramatiky.

Rozklad věty – konstrukce derivačního stromu.

Zásobníkový automat – virtuální obecně nedeterministický stroj, který jednosměrně čte vstupní pásku, rozhoduje se o dalším postupu přecházením mezi jednotlivými vnitřními stavy a má k dispozici nekonečnou paměť ve tvaru zásobníku.

Žádné komentáře:

Okomentovat