Domov vývoj Čo je syntaktický analyzátor? - definícia z technológie

Čo je syntaktický analyzátor? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená Parser?

Syntaktický analyzátor je komponent kompilátora alebo tlmočníka, ktorý rozdeľuje údaje na menšie prvky a umožňuje ľahký preklad do iného jazyka. Syntaktický analyzátor berie vstup vo forme sledu tokenov alebo programových inštrukcií a obvykle vytvára dátovú štruktúru vo forme stromu syntaktickej analýzy alebo abstraktného syntaktického stromu.

Techopedia vysvetľuje Parser

Analyzátor sa bežne používa ako súčasť tlmočníka alebo prekladača. Celkový proces analýzy zahŕňa tri fázy:

  1. Lexikálna analýza: Lexikálny analyzátor sa používa na vytváranie tokenov z toku znakov vstupných reťazcov, ktoré sa rozdeľujú na malé komponenty a vytvárajú zmysluplné výrazy.
  2. Syntaktická analýza: Kontroluje, či generované tokeny tvoria zmysluplný výraz. To využíva gramatiku bez kontextu, ktorá definuje algoritmické postupy pre komponenty. Tieto práce vytvárajú výraz a definujú konkrétne poradie, v ktorom musia byť umiestnené tokeny.
  3. Sémantické parsovanie: Konečné štádium syntaktického analyzovania, v ktorom sa určuje význam a dôsledky validovaného výrazu a podniknú sa potrebné kroky.

Hlavným účelom syntaktického analyzátora je zistiť, či vstupné údaje možno odvodiť zo začiatočného symbolu gramatiky. Ak áno, akým spôsobom je možné odvodiť tieto vstupné údaje? Dosahuje sa to takto:

  • Parsovanie zhora-nadol: Zahŕňa prehľadávanie stromu analýzy, aby sa pomocou rozšírenia zhora nadol našlo najviac derivácií vstupného toku vľavo. Príklady zahŕňajú analyzátory LL a analyzátory rekurzívneho zostupu.
  • Analýza zdola nahor: Zahŕňa prepísanie vstupu späť na počiatočný symbol. Tento typ syntaktického analyzovania sa nazýva aj syntaktický analyzátor so zníženým posunom. Jedným príkladom je syntaktický analyzátor LR.

Analyzátory sa široko používajú v nasledujúcich technológiách:

  • Java a ďalšie programovacie jazyky
  • HTML a XML
  • Interaktívny jazyk údajov a jazyk na definovanie objektov
  • Databázové jazyky, napríklad SQL
  • Modelovacie jazyky, napríklad modelovací jazyk virtuálnej reality
  • Skriptovacie jazyky
  • Protokoly, ako napríklad HTTP a internetové vzdialené volania funkcií
Čo je syntaktický analyzátor? - definícia z technológie