Apstraktna sintaksa je način na koji računalni programeri mapiraju strukturu programa koji žele stvoriti bez brige o stvarnom kodu potrebnom za njegovu implementaciju. Omogućuje programeru da se usredotoči na ono što program treba učiniti prije nego što se usredotoči na to kako natjerati računalo da stvarno obavlja željene funkcije. Apstraktna sintaksa opisuje specifične zadatke programa, kao što je zbrajanje dva broja zajedno, i pokazuje koje se vrste podataka mogu koristiti unutar tog programa. Nakon što je apstraktno mapiranje dovršeno, nacrtano je stablo apstraktne sintakse, koje povezuje apstraktne koncepte s konkretnom sintaksom — stvarnim simbolima koje programer treba upisati da bi pokrenuo program koji stvara.
Ideja apstraktne sintakse je usredotočiti se na tipove podataka i njihove odnose bez da se zaokupite detaljima kako ih kodirati. Računalni kod je mnogo drugačiji od ljudskog jezika i teško je razmišljati u ovim terminima. Umjesto toga, programeri prave popis koraka koje program treba dovršiti, a zatim koriste konkretnu sintaksu kako bi uskladili apstraktne pojmove s pojmovima računalnog koda koji izvode te korake. Često će programer uključiti tipove podataka u svoju apstraktnu oznaku kako bi pokazao s kojim vrstama podataka – bilo da su to brojevi, slova ili decimale – program može raditi. Specifični tipovi podataka nisu potrebni u ovoj fazi programiranja, međutim, i programer može odabrati korištenje apstraktnih tipova podataka, koji su čisto teoretski i bit će zamijenjeni specifičnim tipovima podataka kada se program napiše.
Ova vrsta apstraktne ideje programiranja često se koristi u teoriji prevoditelja. Računala mogu razumjeti samo dvije vrijednosti: 1s i 0s. Ovo je poznato kao binarni kod. Da bi računalo razumjelo program napisan u programskom jeziku, mora kompilirati ili prevesti riječi i slova u tok od 1s i 0s. Kompilatori su složeni za stvaranje i mapiranje nejasne ili apstraktne ideje o tome što trebaju učiniti, pomaže programeru da isplanira kod bez pogrešaka.
Kada programer želi mapirati apstraktnu sintaksu u konkretnu sintaksu i početi kodirati program ili prevodilac, stvara stablo apstraktne sintakse. Ovo je jednostavno popis svih apstraktnih instrukcija koje je napisala, kao što je “dodaj 2 varijable”, s linijom povučenom iz svakog apstraktnog pojma u određeni redak koda koji je potreban za izvršenje te instrukcije. Programer može koristiti bilo koje apstraktne izraze koje želi, ali je češće koristiti dobro poznate termine koda kao što su “var” za varijablu i “int” za cijeli broj.