Syntaktická analýza: Porovnání verzí

Smazaný obsah Přidaný obsah
m Odstranění linku na rozcestník Procesor s použitím robota - Změněn(y) odkaz(y) na Mikroprocesor
JAnDbot (diskuse | příspěvky)
m Hlavní kategorie: jako první, řadicí klíč; kosmetické úpravy
Řádek 31:
=== Proces analýzy ===
 
Následující příklad demonstruje obvyklý postup analýzy programovacího jazyka se dvěma úrovněmi gramatiky: lexikální a syntaktickou.
 
První fází je [[lexikální analýza]], při níž se vstupní text, na který lze pohlížet jako na proud znaků, členěn na symboly (tokeny), zpravidla definované gramatikou [[regulární výraz|regulárních výrazů]]. Například [[kalkulátor]], který má zpracovávat vstup tvaru <code>127 * (3+45)^2</code>, jej rozloží na symboly <code>127</code>, <code>*</code>, <code>(</code>, <code>3</code>, <code>+</code>, <code>45</code>, <code>)</code>, <code>^</code> a <code>2</code>, z nichž každý je smysluplným symbolem v aritmetickém výrazu. Parser obsahuje pravidla, která určují, že znaky <code>*</code>, <code>+</code>, <code>^</code>, <code>(</code> a <code>)</code> označují začátek nového symbolu, takže nebudou uvažované nesmyslné symboly jako <code>12*</code> nebo <code>(3</code>.
Řádek 41:
== Typy syntaktické analýzy ==
 
Prakticky rozlišujeme syntaktickou analýzu přirozeného jazyka a počítačových jazyků. Dost podstatné rozlišení je, že přirozené jazyky se popisují obecnými, tj. nedeterministickými bezkontextovými gramatikami, kdežto počítačové jazyky jsou úmyslně navrženy a popsány jednoduššími deterministickými bezkontextovými gramatikami. Z toho plyne, že pro přirozené jazyky se používají nedeterministické analyzátory, které můžou vydat víc různých analýz jednoho slova/věty/vstupu. Samozřejmě jsou implementovány deterministicky, příklad je výše zmíněný CKY. Další část popisuje přístupy používané pro analýzu deterministických bezkontextových jazyků.
 
Úkolem syntaktického analyzátoru je zjistit, zda a jak je možno vstupní text vygenerovat z&nbsp;[[Formální gramatika#Počáteční symbol|počátečního symbolu gramatiky]]. Tohoto úkolu se analyzátor může zhostit jednou ze dvou základních metod:
Řádek 151:
//-->
 
[[Kategorie:Syntaktická analýza| ]]
[[Kategorie:Formální jazyky]]
[[Kategorie:Zpracování přirozeného jazyka]]