Articles

GeeksforGeeks

In dit artikel zullen we het concept en het gebruik van ontleden boom in Compiler ontwerp bestuderen. Laten we eerst twee termen bekijken :

  • Parse : het betekent om (een zin) op te lossen in zijn samenstellende delen en hun syntactische rollen te beschrijven of simpelweg is het een handeling van het ontleden van een string of een tekst.
  • boom: een boom kan een veel gebruikt abstract gegevenstype zijn dat een hiërarchische boomstructuur simuleert, met een wortelwaarde en subbomen van jongeren met een ouderknooppunt, vertegenwoordigd als een groep gekoppelde knooppunten.

Ontleedstructuur :

  • Parse tree is de hiërarchische weergave van terminals of niet-terminals.
  • Deze symbolen (terminals of niet-terminals) vertegenwoordigen de afleiding van de grammatica om invoerstrings op te leveren.
  • bij het ontleden wordt de tekenreeks met het beginsymbool weergegeven.
  • het startsymbool van de grammatica moet worden gebruikt als de wortel van de Parsestructuur.
  • bladeren van parse tree vertegenwoordigen terminals.
  • elk interieur knooppunt vertegenwoordigt grammaticaproducties.

regels om een Ontleedstructuur te tekenen:

  1. alle bladknopen moeten terminals zijn.
  2. alle interieurknooppunten moeten niet-terminals zijn.
  3. in-order traversal geeft de originele invoerstring.

Voorbeeld-1:
Neem een voorbeeld van een grammatica (productie regels).

S -> sABA -> aB -> b

De invoerstring is” sab”, dan is de Parse Tree :

Voorbeeld-2:
Neem een ander voorbeeld van een grammatica (productieregels).

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

De input string is “acbd”, dan is de Parse Tree :

Gebruik van Parse Tree :

  • Het helpt bij het maken van syntaxisanalyse door de syntaxis van de invoertaal weer te geven.
  • het maakt gebruik van een in-memory representatie van de invoer met een structuur die overeenkomt met de grammatica.
  • de voordelen van het gebruik van parse trees in plaats van semantische acties: je maakt meerdere passes over de info zonder dat je de invoer opnieuw hoeft te ontleden.

Attentie lezer! Stop nu niet met leren. Krijg alle belangrijke CS theorie concepten voor SDE interviews met de CS theorie cursus voor een student-vriendelijke prijs en word industrie klaar.

artikel Tags: