Articles

GeeksforGeeks

v tomto článku budeme studovat koncept a použití Parse stromu v návrhu kompilátoru. Nejprve se podívejme na dva termíny:

  • analyzovat: to znamená vyřešit (větu) do jejích součástí a popsat jejich syntaktické role nebo prostě je to akt analýzy řetězce nebo textu.
  • Strom : strom může být široce používán abstraktní datový typ, který simuluje hierarchické stromové struktury, s root hodnotu a sub-stromy mládež s rodičem uzlu, zastoupeny jako skupina propojených uzlů.

analyzovat strom :

  • Parse strom je hierarchická reprezentace terminálů nebo neterminálů.
  • tyto symboly (terminály nebo neterminály) představují odvození gramatiky pro získání vstupních řetězců.
  • při analýze řetězec pruží pomocí symbolu začátku.
  • počáteční symbol gramatiky musí být použit jako kořen stromu analýzy.
  • listy stromu parse představují terminály.
  • každý vnitřní uzel představuje tvorbu gramatiky.

pravidla pro nakreslení stromu analýzy:

  1. všechny uzly listů musí být terminály.
  2. všechny vnitřní uzly musí být neterminály.
  3. in-order traversal dává původní vstupní řetězec.

Příklad-1:
Vezměme si příklad gramatiky (Produkční pravidla).

S -> sABA -> aB -> b

vstupní řetězec je „sab“, pak Derivační Strom je :

Příklad 2:
vezměme si další příklad Gramatiky (Pravidla Produkce).

S -> ABA -> c/aAB -> d/bB

vstupní řetězec je „acbd“ , pak je strom analýzy :

Použití Derivační Strom :

  • pomáhá při vytváření syntaktické analýzy tím, že odráží syntaxe vstupního jazyka.
  • používá In-memory reprezentaci vstupu se strukturou, která odpovídá gramatice.
  • výhody použití parse stromy, spíše než sémantické Akce: budete dělat více průchodů přes informace, aniž by bylo nutné znovu analyzovat vstup.

pozor čtenáři! Nepřestávej se učit. Získejte všechny důležité koncepty teorie CS pro rozhovory SDE s kurzem teorie CS za studentskou cenu a připravte se na průmysl.

článek značky: