kääntäjä

Kääntäjä on erityinen ohjelma, joka käsittelee tietyllä ohjelmointikielellä kirjoitettuja lausumia ja muuttaa ne konekieleksi tai ”koodiksi”, jota tietokoneen prosessori käyttää. Tyypillisesti ohjelmoija kirjoittaa kielilauseita esimerkiksi Pascalin tai C: n kielellä yksi rivi kerrallaan editorin avulla. Luotu tiedosto sisältää niin sanottuja lähdelauseita. Tämän jälkeen ohjelmoija suorittaa sopivan kielenkääntäjän ja määrittää lähdelauseet sisältävän tiedoston nimen.

suoritettaessa (suoritusta) kääntäjä ensin jäsentää (tai analysoi) kaikki kielen lauseet syntaktisesti yksi toisensa jälkeen ja sitten, yhdessä tai useammassa peräkkäisessä vaiheessa tai ”kulkee”, rakentaa tulostuskoodin varmistaen, että loppukoodissa viitataan oikein muihin lauseisiin. Perinteisesti kokoelman tuotosta on kutsuttu objektikoodiksi tai joskus objektimoduuliksi . (Huomaa, että termi ”olio” tässä ei liity olio-orientoituneeseen ohjelmointiin.) Objektikoodi on konekoodi, jota prosessori voi suorittaa yhden käskyn kerrallaan.

Oliopohjaisessa ohjelmoinnissa käytetty Java-ohjelmointikieli esitteli mahdollisuuden koota tuloste (nimeltään bytecode), joka voi toimia millä tahansa tietokonejärjestelmäalustalla, jolle on tarjolla Java-virtuaalikone tai bytecode-tulkki, joka muuntaa bytecode ohjeiksi, jotka voidaan suorittaa varsinaisella laitteistosuorittimella. Tämän virtuaalikoneen avulla bytecode voidaan vaihtoehtoisesti kääntää uudelleen suoritusalustalla just-in-time kääntäjällä. (Katso myös: Java compiler)

perinteisesti joissakin käyttöjärjestelmissä on vaadittu lisävaihe koostamisen jälkeen – ohjeiden ja tietojen suhteellisen sijainnin selvittäminen, kun useampaa kuin yhtä oliomoduulia piti ajaa samaan aikaan ja ne ristiviittasivat toistensa käskysekvensseihin tai dataan. Tätä prosessia kutsuttiin joskus linkityseditoinniksi ja tuotosta kuormamoduuliksi.

kääntäjä toimii niin sanotuilla 3GL-ja korkeamman tason kielillä. Assembler työskentelee ohjelmille, jotka on kirjoitettu prosessorin assembler-kielellä.

Related Posts

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *