Kaj je vmesni jezik?

V računalniškem programiranju, ko prevajalnik razčleni izvorno kodo, ki jo bere človek, prevajalnik pogosto prevede izvorne ukaze v zaporedje navodil, ki niso povsem domača strojna koda, vendar jih lahko nadalje obdela, optimizira ali prevede prevajalnik ali druga programska oprema. orodja. Ustvarjene datoteke vsebujejo navodila, ki naj bi bila v vmesnem jeziku, ker jezik, ki ga uporablja prevajalnik, ni smiseln niti za večji operacijski sistem niti za jezik, ki ga uporablja programer za pisanje kode, ampak namesto tega je jezik, ki deluje kot most med pisanjem in izvajanjem programa. Včasih se uporablja vmesni jezik, ki omogoča prevajalniku, da naredi zelo natančne optimizacije, tako da program deluje učinkoviteje, vendar se lahko uporablja tudi za izdelavo izhodnih datotek, ki so prenosljive med različnimi, nezdružljivimi sistemi. Dejanska sintaksa jezika je lahko podobna strojni kodi ali drugim vrstam bajtne kode, ki ni berljiva človeku, ali pa je jezik lahko samo obstoječi večplatformski računalniški programski jezik.

Ko se uporablja za optimizacijo prevajalnika, prevajalnik jezika vzame vsak stavek v datoteko izvorne kode in razčleni ukaz na vmesni jezik. En sam človeku berljiv programski stavek se lahko razgradi na desetine navodil strojnega jezika, tako da vmesni jezik ustvari raven abstrakcije, ki jo lahko prevajalnik uporabi za identifikacijo področij kode, kjer je mogoče izvesti optimizacije, ne da bi bilo treba kodo najprej povezati z vse domače izvedbe ali knjižnice. Ko je končana, lahko vmesno kodno datoteko nato prevedemo naprej, da naredimo izvorno binarno datoteko, ali pa jo zaženemo prek drugega programa, znanega kot tolmač, ki bo izvedel kodo tako, da jo po potrebi prevede v izvorna navodila.

Nekateri jeziki, kot je Java®, uporabljajo vmesni jezik za ustvarjanje prevedenih datotek, ki so optimizirane, a tudi prenosljive na druge računalniške sisteme. Ta vrsta kode je včasih znana kot bajtna koda in je podobna strojni kodi ali zbirnemu jeziku. Bytecode je shranjena v datotekah na način, ki je neodvisen od platforme, kar pomeni, da se lahko prenese v kateri koli računalniški sistem ali napravo, ki lahko izvaja tolmač. Ko je bajtna koda v sistemu, jo je mogoče zagnati kot interpretirani program ali pa jo je mogoče prevesti tako, da se izvaja izvorno v ciljnem sistemu.

V nekaterih primerih je računalniški jezik zasnovan tako, da olajša programiranje za določen cilj, kot je interaktivna spletna aplikacija, vendar oblikovalci ne želijo vključiti prevajalnikov, tolmačev ali vtičnikov po meri za različne sisteme. V teh primerih je lahko vmesni jezik prevajalnika obstoječi jezik, ki že ima vzpostavljene večplatformske tolmače. Nastali vmesni jezik je v tem primeru berljiv. En primer računalniškega programskega jezika, ki se uporablja tudi kot vmesni jezik, je JavaScript®, ki ima to prednost, da se od leta 2011 lahko izvaja v skoraj katerem koli spletnem brskalniku na kateri koli platformi.