Articles

GeeksforGeeks

i denne artikel vil vi studere konceptet og anvendelser af Parse træ i Compiler Design. Lad os først tjekke to udtryk :

  • Parse : det betyder at løse (en sætning) i dens bestanddele og beskrive deres syntaktiske roller, eller det er simpelthen en handling at analysere en streng eller en tekst.
  • træ: et træ kan være en meget brugt abstrakt datatype, der simulerer en hierarkisk træstruktur med en rodværdi og undertræer af unge med en forældreknude, repræsenteret som en gruppe af sammenkædede noder.

Parse træ :

  • Parse tree er den hierarkiske repræsentation af terminaler eller ikke-terminaler.
  • disse symboler (terminaler eller ikke-terminaler) repræsenterer afledningen af grammatikken for at give inputstrenge.
  • i parsing springer strengen ved hjælp af begyndelsessymbolet.
  • grammatikens startsymbol skal bruges som roden til Parse-træet.
  • blade af parse træ repræsenterer terminaler.
  • hver indre node repræsenterer produktioner af grammatik.

regler for at tegne et Parse-træ:

  1. alle bladnoder skal være terminaler.
  2. alle indvendige noder skal være ikke-terminaler.
  3. i rækkefølge traversal giver original input streng.

eksempel-1:
Lad os tage et eksempel på en grammatik (produktionsregler).

S -> sABA -> aB -> b

inputstrengen er “sab”, så er Parse-træet:

eksempel-2:
Lad os tage et andet eksempel på en grammatik (produktionsregler).

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

inputstrengen er “acbd”, så er Parse-træet :

anvendelser af Parse Tree:

  • det hjælper med at gøre syntaksanalyse ved at afspejle syntaksen af input sprog.
  • det bruger en in-memory repræsentation af input med en struktur, der er i overensstemmelse med grammatik.
  • fordelene ved at bruge parse træer i stedet for semantiske handlinger: du vil gøre flere passerer over info uden at skulle re-parse input.

opmærksomhed læser! Stop ikke med at lære nu. Få fat i alle de vigtige CS-Teoribegreber til SDE-samtaler med CS Theory-kurset til en studentvenlig pris og bliv brancheklar.

artikel Tags: