Syntaktická analýza
From Wikipedia, the free encyclopedia
Syntaktická analýza (slangově podle angličtiny též parsování nebo parsing) se v informatice a v lingvistice nazývá proces analýzy posloupnosti formálních prvků s cílem určit jejich gramatickou strukturu vůči předem dané (byť ne nutně explicitně vyjádřené) formální gramatice.
Program, který vykonává tuto úlohu, se nazývá syntaktický analyzátor (slangově parser).
Při syntaktické analýze se vstupní text zpravidla transformuje na určité datové struktury, většinou syntaktický strom nebo méně abstraktní derivační strom, které zachovávají hierarchické uspořádání vstupních symbolů a jsou vhodné pro další zpracování.
Syntaktické analýze zpravidla předchází lexikální analýza, při níž se vstupní text rozděluje na posloupnost lexikálních symbolů neboli tokenů – elementárních nositelů významu v rámci daného formálního jazyka. Při analýze textu v přirozeném jazyce jsou symboly obvykle slovní tvary a interpunkce, v programovacím jazyce identifikátory, literály (čísla, textové řetězce – také jen řetězce), klíčová slova, operátory, oddělovače apod. Pro parser to jsou dále nedělitelné stavební jednotky, které používá při interpretaci vstupních dat.
Existují programy, schopné ze specifikace programovacího jazyka (zapsané např. v Backus–Naurově notaci) vytvořit parser. Mezi nejznámější takovéto generátory parserů patří program Yacc (yet another compiler compiler).