Abstrakti syntaksi on tapa, jolla tietokoneohjelmoijat voivat kartoittaa luodun ohjelman rakenteen huolehtimatta sen toteuttamiseen tarvittavasta todellisesta koodista. Sen avulla ohjelmoija voi keskittyä siihen, mitä ohjelman on tehtävä, ennen kuin keskittyy siihen, miten saada tietokone todella suorittamaan halutut toiminnot. Abstrakti syntaksi hahmottaa ohjelman erityistehtävät, kuten kahden numeron lisäämisen yhteen, ja näyttää, millaisia tietoja kyseisessä ohjelmassa voidaan käyttää. Kun abstrakti kartoitus on valmis, piirretään abstrakti syntaksipuu, joka yhdistää abstraktit käsitteet konkreettiseen syntaksiin – todellisiin symboleihin, jotka ohjelmoijan on kirjoitettava luodun ohjelman suorittamiseksi.
Abstraktin syntaksin idea on keskittyä tietotyyppeihin ja niiden suhteisiin jäämättä kiinni niiden koodin yksityiskohdista. Tietokonekoodi on paljon erilainen kuin ihmisten kieli, ja yrittää ajatella tällä tavalla on vaikeaa. Sen sijaan ohjelmoijat laativat luettelon vaiheista, jotka ohjelman on suoritettava, ja käyttävät sitten konkreettista syntaksia sovittaakseen abstraktit termit tietokonekoodeihin, jotka suorittavat nämä vaiheet. Usein ohjelmoija lisää tietotyyppejä abstraktiin merkintään osoittaakseen, minkä tyyppisiä tietoja – olipa ne numeroita, kirjaimia tai desimaaleja – ohjelma voi käyttää. Tiettyjä tietotyyppejä ei kuitenkaan vaadita tässä ohjelmointivaiheessa, ja ohjelmoija voi halutessaan käyttää abstrakteja tietotyyppejä, jotka ovat puhtaasti teoreettisia ja korvataan tietyillä tietotyypeillä, kun ohjelma kirjoitetaan.
Tällaista abstraktia ajattelua ohjelmoinnista käytetään usein kääntäjäteoriassa. Tietokoneet voivat ymmärtää vain kaksi arvoa: 1s ja 0s. Tätä kutsutaan binäärikoodiksi. Jotta tietokone ymmärtäisi ohjelmointikielellä kirjoitetun ohjelman, sen on koottava tai käännettävä sanat ja kirjaimet 1s ja 0s -virraksi. Kääntäjät ovat monimutkaisia luomaan ja kartoittamaan epämääräinen tai abstrakti idea siitä, mitä heidän on tehtävä, auttaa ohjelmoijaa suunnittelemaan virheetön koodi.
Kun ohjelmoija haluaa yhdistää abstraktin syntaksin konkreettiseen syntaksiin ja aloittaa ohjelman tai kääntäjän koodaamisen, hän luo abstraktin syntaksipuun. Tämä on yksinkertaisesti luettelo kaikista hänen kirjoittamistaan abstrakteista ohjeista, kuten “lisää 2 muuttujaa”, ja jokaisesta abstraktista termistä on piirretty viiva kyseisen ohjeen suorittamiseen tarvittavaan koodiriviin. Ohjelmoija voi käyttää mitä tahansa haluamiaan abstrakteja termejä, mutta on yleisempi käyttää tunnettuja kooditermiä, kuten “var” muuttujaan ja “int” kokonaislukuun.