ASDL este un acronim pentru limbajul de descriere a sintaxelor abstracte. Este un limbaj de programare care descrie structuri de date în compilatoare care sunt aranjate într-o configurație arborescentă. Compilatoarele sunt programe care traduc limbajul codului sursă într-un cod înțeles de mașina țintă. ASDL poate fi, de asemenea, descris ca tip abstract și limbaj de definire a schemei.
Scopul principal al ASDL este de a ajuta compilatorul să faciliteze comunicarea. De obicei, este nevoie de un limbaj de programare de nivel înalt și îl simplifică la un nivel inferior. Un proces tipic de traducere începe cu conversia în ASDL. Apoi, un instrument de conversie, cum ar fi unul numit asdlGen, este folosit pentru a traduce limbajul în formate de programare precum Java, C++ și C. Aceste funcții sunt de obicei programate astfel încât limbajul de descriere a sintaxei abstracte își va îndeplini automat funcțiile de traducere.
ASDL poate fi, de asemenea, adaptat astfel încât să poată fi vizualizat într-un browser grafic. Oferind o reprezentare vizuală curată a codului, lucrul cu ASDL în acest fel poate simplifica procesul de efectuare a modificărilor. Pentru a crea acest tip de fișier, limbajul de descriere a sintaxei abstracte este convertit într-un format standard numit pickle.
Există trei constructe într-o descriere tipică a limbajului de descriere a sintaxelor abstracte. Acestea includ tipuri, construcții și producții. Acești trei factori lucrează împreună pentru a defini, construi și implementa funcția de traducere.
Limbajul de descriere a sintaxei abstracte a fost dezvoltat pentru prima dată ca parte a proiectului GRASPIN, care a fost beneficiar al ESPIRIT, un program creat pentru a încuraja dezvoltarea tehnologiei informaționale europene. Proiectul GRASPIN a fost început pentru a crea sisteme care ajută la construirea, dezvoltarea și promovarea sistemelor software non-secvențiale.
Unele dintre beneficiile ASDL includ simplitatea funcției și rezultate concise. Limbajul tinde să fie practic și ușor de utilizat pentru mulți programatori în mod intuitiv. Poate fi folosit și cu alte instrumente pentru a ușura și mai mult procesul de traducere. Această caracteristică ajută, de asemenea, la simplificarea procesului de creare a compilatoarelor care funcționează bine împreună. Limbajul de descriere a sintaxei abstracte nu este, în general, cel mai eficient mijloc de traducere, dar poate economisi timp semnificativ de procesare.
Există mai multe alte semnificații posibile pentru acronimul ASDL și care pot fi adesea confundate cu limbajul de descriere a sintaxelor abstracte. Unele includ: bibliotecă digitală de științe analitice, linie digitală standard americană și legătură de date aeronave-satelit. De asemenea, este adesea confundat cu acronimul ADSL, care înseamnă de obicei linie digitală de abonat asimetrică.