Abstraktne süntaks on viis, kuidas arvutiprogrammeerijad kaardistavad loodava programmi struktuuri, muretsemata selle rakendamiseks vajaliku tegeliku koodi pärast. See võimaldab programmeerijal keskenduda sellele, mida programm peab tegema, enne kui ta keskendub sellele, kuidas panna arvuti soovitud funktsioone täitma. Abstraktne süntaks kirjeldab programmi spetsiifilisi ülesandeid, näiteks kahe numbri liitmist, ja näitab, mis tüüpi andmeid saab selles programmis kasutada. Kui abstraktne kaardistamine on lõpetatud, koostatakse abstraktne süntaksipuu, mis sobitab abstraktsed mõisted konkreetse süntaksiga – tegelikud sümbolid, mida programmeerija peab loodava programmi käivitamiseks välja tippima.
Abstraktse süntaksi idee on keskenduda andmetüüpidele ja nende suhetele, ilma et peaks jääma nende kodeerimise üksikasjadesse. Arvutikood erineb inimkeelest palju ja nendes mõistetes mõelda on keeruline. Selle asemel koostavad programmeerijad loendi sammudest, mida programm peab tegema, ja kasutavad seejärel konkreetset süntaksit, et viia abstraktsed terminid kokku neid samme sooritavate arvutikoodi terminitega. Sageli lisab programmeerija oma abstraktsesse märgistusse andmetüübid, et näidata, millist tüüpi andmetega – olgu need numbrid, tähed või kümnendkohad – programm töötada saab. Siiski ei ole programmeerimise selles etapis spetsiifilisi andmetüüpe vaja ja programmeerija võib kasutada abstraktseid andmetüüpe, mis on puhtalt teoreetilised ja asendatakse programmi kirjutamisel konkreetsete andmetüüpidega.
Sellist abstraktset programmeerimise ideed kasutatakse sageli kompilaatorite teoorias. Arvutid saavad aru ainult kahest väärtusest: 1s ja 0s. Seda tuntakse kahendkoodina. Et arvuti saaks programmeerimiskeeles kirjutatud programmist aru, peab see sõnad ja tähed 1-de ja 0-de voogudeks koostama või tõlkima. Kompilaatorid on keerulised, et luua ja kaardistada ebamäärane või abstraktne idee, mida nad peavad tegema, aitab programmeerijal veavaba koodi kavandada.
Kui programmeerija soovib seostada abstraktse süntaksi konkreetse süntaksiga ja alustada programmi või kompilaatori kodeerimist, loob ta abstraktse süntaksipuu. See on lihtsalt nimekiri kõigist tema kirjutatud abstraktsetest juhistest, näiteks “lisa 2 muutujat”, kusjuures iga abstraktse termini rida on tõmmatud selle käsu täitmiseks vajaliku konkreetse koodireale. Programmeerija võib kasutada mis tahes abstraktseid termineid, mida ta soovib, kuid tavalisem on kasutada tuntud kooditermineid, nagu “var” muutuja ja “int” täisarvu jaoks.