Kaj je abstraktna sintaksa?

Abstraktna sintaksa je način, kako računalniški programerji načrtujejo strukturo programa, ki ga želijo ustvariti, ne da bi skrbeli za dejansko kodo, ki je potrebna za njegovo izvedbo. Programerju omogoča, da se osredotoči na to, kaj mora program narediti, preden se osredotoči na to, kako doseči, da računalnik dejansko izvaja želene funkcije. Abstraktna sintaksa opisuje posebne naloge programa, kot je seštevanje dveh številk, in prikazuje, katere vrste podatkov se lahko uporabljajo v tem programu. Ko je abstraktno preslikavo končano, se nariše abstraktno sintaktično drevo, ki se ujema z abstraktnimi koncepti s konkretno sintakso – dejanskimi simboli, ki jih mora programer vtipkati, da zažene program, ki ga ustvarja.

Ideja za abstraktno sintakso je, da se osredotoči na tipe podatkov in njihove odnose, ne da bi se ujeli v podrobnosti, kako jih kodirati. Računalniška koda je precej drugačna od človeškega jezika in težko je razmišljati v teh terminih. Namesto tega programerji naredijo seznam korakov, ki jih mora program dokončati, in nato uporabijo konkretno sintakso za ujemanje abstraktnih izrazov z izrazi računalniške kode, ki izvajajo te korake. Programer pogosto vključi tipe podatkov v svojo abstraktno oznako, da pokaže, s katerimi vrstami podatkov – naj bodo to številke, črke ali decimalke – lahko program deluje. Specifični tipi podatkov v tej fazi programiranja pa niso potrebni, programer pa se lahko odloči za uporabo abstraktnih podatkovnih tipov, ki so zgolj teoretični in bodo zamenjani s posebnimi tipi podatkov, ko je program napisan.

Ta vrsta abstraktne ideje programiranja se pogosto uporablja v teoriji prevajalnika. Računalniki lahko razumejo samo dve vrednosti: 1s in 0s. To je znano kot binarna koda. Da bi računalnik razumel program, napisan v programskem jeziku, mora prevesti ali prevesti besede in črke v tok 1s in 0s. Prevajalniki so zapleteni pri ustvarjanju in načrtovanju nejasne ali abstraktne ideje o tem, kaj morajo narediti, programerju pomaga načrtovati kodo brez napak.

Ko želi programer preslikati abstraktno sintakso v konkretno sintakso in začeti kodirati program ali prevajalnik, ustvari drevo abstraktne sintakse. To je preprosto seznam vseh abstraktnih navodil, ki jih je napisala, na primer »dodaj 2 spremenljivki«, s črto, potegnjeno iz vsakega abstraktnega izraza v posebno vrstico kode, ki je potrebna za izvedbo tega navodila. Programer lahko uporablja katere koli abstraktne izraze, ki jih želi, vendar je pogostejša uporaba dobro znanih kodnih izrazov, kot sta “var” za spremenljivko in “int” za celo število.