Qual è la sintassi astratta?
La sintassi astratta è un modo per i programmatori di computer di mappare la struttura del programma che vogliono creare senza preoccuparsi del codice effettivo necessario per implementarlo. Permette al programmatore di concentrarsi su ciò che il programma deve fare prima di concentrarsi su come far sì che il computer esegua effettivamente le funzioni desiderate. La sintassi astratta delinea le attività specifiche del programma, come l'aggiunta di due numeri insieme, e mostra quali tipi di dati possono essere utilizzati all'interno di quel programma. Una volta completata la mappatura astratta, viene disegnato un albero di sintassi astratto, che abbina i concetti astratti a una sintassi concreta: i simboli reali che un programmatore deve digitare per eseguire il programma che sta creando.
L'idea per la sintassi astratta è quella di concentrarsi sui tipi di dati e sulle loro relazioni senza rimanere intrappolati nei dettagli di come codificarli. Il codice del computer è molto diverso dal linguaggio umano e cercare di pensare in questi termini è difficile. Invece, i programmatori fanno un elenco dei passaggi che il programma deve completare e quindi usano la sintassi concreta per abbinare i termini astratti ai termini del codice del computer che eseguono quei passaggi. Spesso, il programmatore includerà i tipi di dati nel suo markup astratto per mostrare con quali tipi di dati - siano essi numeri, lettere o decimali - con cui il programma può funzionare. In questa fase della programmazione, tuttavia, non sono richiesti tipi di dati specifici e il programmatore può scegliere di utilizzare tipi di dati astratti, che sono puramente teorici e verranno sostituiti con tipi di dati specifici quando il programma viene scritto.
Questo tipo di idea astratta di programmazione viene spesso utilizzata nella teoria dei compilatori. I computer possono comprendere solo due valori: 1s e 0s. Questo è noto come codice binario. Perché il computer capisca un programma scritto in un linguaggio di programmazione, deve compilare o tradurre le parole e le lettere in un flusso di 1 e 0 secondi. I compilatori sono complessi per creare e mappare un'idea vaga o astratta di ciò che devono fare per aiutare un programmatore a pianificare codice privo di errori.
Quando il programmatore desidera mappare la sintassi astratta sulla sintassi concreta e iniziare a codificare il programma o il compilatore, crea un albero di sintassi astratto. Questa è semplicemente una lista di tutte le istruzioni astratte che ha scritto, come "aggiungi 2 variabili", con una linea disegnata da ciascun termine astratto alla specifica linea di codice necessaria per eseguire quell'istruzione. Il programmatore può usare qualsiasi termine astratto che desidera, ma è più comune usare termini di codice noti come "var" per variabile e "int" per intero.