Abstrakti sintaksė yra būdas kompiuterių programuotojams nustatyti norimos sukurti programos struktūrą, nesijaudinant dėl tikrojo kodo, reikalingo jai įgyvendinti. Tai leidžia programuotojui sutelkti dėmesį į tai, ką programa turi padaryti, prieš sutelkiant dėmesį į tai, kaip priversti kompiuterį iš tikrųjų atlikti norimas funkcijas. Abstrakti sintaksė apibūdina specifines programos užduotis, pvz., dviejų skaičių sudėjimą, ir parodo, kokių tipų duomenys gali būti naudojami toje programoje. Užbaigus abstrakčiąjį atvaizdavimą, nubraižytas abstrakčiųjų sintaksės medis, kuris abstrakčias sąvokas suderina su konkrečia sintaksė – faktiniais simboliais, kuriuos programuotojas turi įvesti, kad paleistų savo kuriamą programą.
Abstrakčios sintaksės idėja yra sutelkti dėmesį į duomenų tipus ir jų ryšius, nesigilinant į jų kodavimo detales. Kompiuterio kodas daug skiriasi nuo žmogaus kalbos, todėl sunku mąstyti šiais terminais. Vietoj to programuotojai sudaro veiksmų, kuriuos programa turi atlikti, sąrašą ir tada naudoja konkrečią sintaksę, kad abstrakčiuosius terminus atitiktų su kompiuterio kodo terminais, kurie atlieka tuos veiksmus. Dažnai programuotojas į savo abstrakčius žymėjimus įtrauks duomenų tipus, kad parodytų, su kokio tipo duomenimis – ar tai būtų skaičiai, raidės ar dešimtainės dalys – programa gali dirbti. Tačiau konkrečių duomenų tipų šiame programavimo etape nereikia, o programuotojas gali pasirinkti naudoti abstrakčius duomenų tipus, kurie yra grynai teoriniai ir bus pakeisti konkrečiais duomenų tipais, kai programa bus rašoma.
Tokia abstrakti programavimo idėja dažnai naudojama kompiliatorių teorijoje. Kompiuteriai gali suprasti tik dvi reikšmes: 1s ir 0s. Tai žinoma kaip dvejetainis kodas. Kad kompiuteris suprastų programą, parašytą programavimo kalba, jis turi kompiliuoti arba išversti žodžius ir raides į 1 ir 0 srautą. Kompiliatoriai yra sudėtingi, norint sukurti neaiškią ar abstrakčią idėją apie tai, ką jie turi padaryti, padeda programuotojui suplanuoti kodą be klaidų.
Kai programuotojas nori susieti abstrakčią sintaksę su konkrečia sintaksė ir pradėti koduoti programą arba kompiliatorių, ji sukuria abstrakčią sintaksės medį. Tai tiesiog visų jos parašytų abstrakčių instrukcijų sąrašas, pvz., „pridėti 2 kintamuosius“, su eilute, nubrėžta nuo kiekvieno abstrakčiojo termino iki konkrečios kodo eilutės, reikalingos tai instrukcijai vykdyti. Programuotojas gali naudoti bet kokius norimus abstrakčius terminus, tačiau dažniau naudojami gerai žinomi kodo terminai, tokie kaip „var“ kintamajam ir „int“ sveikajam skaičiui.