ASDL è un acronimo per linguaggio di descrizione della sintassi astratta. È un linguaggio di programmazione che descrive le strutture di dati nei compilatori che sono disposte in una configurazione ad albero. I compilatori sono programmi che traducono il linguaggio del codice sorgente in un codice compreso dalla macchina di destinazione. ASDL può anche essere descritto come linguaggio di definizione di tipo astratto e schema.
Lo scopo principale di ASDL è aiutare il compilatore a facilitare la comunicazione. Di solito richiede un linguaggio di programmazione di alto livello e lo semplifica a un livello inferiore. Un tipico processo di traduzione inizia con la conversione in ASDL. Quindi uno strumento di conversione, come quello chiamato asdlGen, viene utilizzato per tradurre il linguaggio in formati di programmazione come Java, C++ e C. Queste funzioni sono in genere programmate in modo che il linguaggio di descrizione della sintassi astratta esegua automaticamente le sue funzioni di traduzione.
ASDL può anche essere adattato in modo che possa essere visualizzato su un browser grafico. Fornendo una rappresentazione visiva pulita del codice, lavorare con ASDL in questo modo può semplificare il processo di apportare modifiche. Per creare questo tipo di file, il linguaggio di descrizione della sintassi astratta viene convertito in un formato standard chiamato pickle.
Ci sono tre costrutti in una tipica descrizione del linguaggio di descrizione della sintassi astratta. Includono tipologie, costruzioni e produzioni. Questi tre fattori lavorano insieme per definire, costruire e implementare la funzione di traduzione.
Il linguaggio di descrizione della sintassi astratta è stato sviluppato per la prima volta nell’ambito del progetto GRASPIN, beneficiario di ESPIRIT, un programma creato per incoraggiare lo sviluppo della tecnologia dell’informazione europea. Il progetto GRASPIN è stato avviato per creare sistemi che aiutano a costruire, sviluppare e promuovere sistemi software non sequenziali.
Alcuni dei vantaggi di ASDL includono semplicità di funzionamento e risultati concisi. Il linguaggio tende ad essere pratico e facile da usare per molti programmatori in modo intuitivo. Può essere utilizzato anche con altri strumenti per facilitare ulteriormente il processo di traduzione. Questa funzionalità aiuta anche a semplificare il processo di creazione di compilatori che funzionano bene insieme. Il linguaggio di descrizione della sintassi astratta generalmente non è il mezzo di traduzione più efficiente, ma può far risparmiare tempo di elaborazione.
Ci sono molti altri possibili significati per l’acronimo ASDL e che spesso possono essere scambiati per un linguaggio di descrizione della sintassi astratta. Alcuni includono: biblioteca digitale di scienze analitiche, linea digitale standard americana e collegamento dati aereo-satellite. Viene spesso anche scambiato per l’acronimo ADSL, che comunemente sta per asymmetric digital subscriber line.