Arborele de sintaxă abstractă

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 27 mai 2020; verificările necesită 5 modificări .

Arborele de sintaxă abstractă (ASD) sau arborele de sintaxă sau AST (Arborele de sintaxă abstractă) - în informatică , un arbore orientat final etichetat , în care vârfurile interne sunt mapate (etichetate) cu operatori de limbaj de programare și frunze - cu operanzii corespunzători . Astfel, frunzele sunt instrucțiuni goale și reprezintă doar variabile și constante.

Arborele de sintaxă sunt utilizați în analizatoare pentru a oferi o reprezentare intermediară a unui program între un arbore de analiză (un arbore cu o anumită sintaxă) și o structură de date , care este apoi folosită ca reprezentare internă într- un compilator de programe de calculator sau interpret pentru optimizare și generare de cod. Variante posibile ale unor astfel de structuri sunt descrise prin sintaxă abstractă.

Caracteristici

Un arbore de sintaxă abstractă diferă de un arbore de analiză prin faptul că îi lipsesc noduri și margini pentru acele reguli de sintaxă care nu afectează semantica programului. Parantezele de grupare sunt un exemplu clasic al acestei absențe, deoarece în AST gruparea operanzilor este dată în mod explicit de structura arborescentă.

Pentru un limbaj care este descris de o gramatică fără context , așa cum sunt aproape toate limbajele de programare, crearea unui arbore într- un parser este o sarcină trivială. Cele mai multe reguli dintr-o gramatică creează un nou vârf, iar caracterele din regulă devin margini. Regulile care nu contribuie cu nimic la DAS (de exemplu, regulile de grupare) sunt pur și simplu înlocuite în partea de sus cu unul dintre simbolurile lor. În plus, analizatorul poate crea un arbore de analiză complet și apoi îl poate traversa, eliminând nodurile și marginile care nu sunt utilizate în sintaxa abstractă, pentru a obține un DAS.

Vezi și

Literatură

Link -uri