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:
- všechny uzly listů musí být terminály.
- všechny vnitřní uzly musí být neterminály.
- 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: