GeeksforGeeks
i den här artikeln kommer vi att studera konceptet och användningen av Parse träd i Kompilatordesign. Låt oss först kolla in två termer:
- Parse : det betyder att lösa (en mening) i dess beståndsdelar och beskriva deras syntaktiska roller eller helt enkelt är det en handling att analysera en sträng eller en text.
- träd: ett träd kan vara en allmänt använd abstrakt datatyp som simulerar en hierarkisk trädstruktur, med ett rotvärde och underträd av ungdomar med en överordnad nod, representerad som en grupp länkade noder.
tolka träd :
- Parse tree är den hierarkiska representationen av terminaler eller icke-terminaler.
- dessa symboler (terminaler eller icke-terminaler) representerar grammatikens härledning för att ge ingångssträngar.
- vid tolkning fjädrar strängen med början symbolen.
- grammatikens Startsymbol måste användas som roten till Tolkträdet.
- blad av parse träd representerar terminaler.
- varje inre nod representerar produktioner av grammatik.
regler för att rita ett Parsträd:
- Alla bladnoder måste vara terminaler.
- alla interna noder måste vara icke-terminaler.
- in-order traversal ger originalinmatningssträng.
exempel-1:
Låt oss ta ett exempel på en grammatik (produktionsregler).
S -> sABA -> aB -> b
inmatningssträngen är” sab”, då är Tolkträdet :
exempel-2:
Låt oss ta ett annat exempel på en grammatik (produktionsregler).
S -> ABA -> c/aAB -> d/bB
inmatningssträngen är ”acbd”, då är Tolkträdet :
användningar av Parse Tree :
- Det hjälper till att göra syntaxanalys genom att reflektera syntaxen för inmatningsspråket.
- den använder en in-memory representation av ingången med en struktur som överensstämmer med grammatiken.
- fördelarna med att använda parse träd snarare än semantiska åtgärder: du kommer att göra flera passeringar över informationen utan att behöva tolka inmatningen igen.
uppmärksamhet läsare! Sluta inte lära dig nu. Få tag på alla viktiga CS-Teorikoncept för Sde-intervjuer med CS-Teorikursen till ett studentvänligt pris och bli branschklar.
artikel taggar: