(1) ohjelmisto, joka muuntaa joukon korkean tason kielen lausekkeita alemman tason esitykseen. Esimerkiksi ohjeen kääntäjä muuntaa sopivilla komennoilla upotetun tekstidokumentin Online-ohjejärjestelmäksi. Sanakirjan kääntäjä muuntaa termit ja määritelmät sanakirjan hakujärjestelmäksi.
(2) ohjelmisto, joka kääntää korkean tason ohjelmointikielellä (C/C++, COBOL jne.) konekieleen. Kääntäjä luo yleensä ensin assembly-kielen ja kääntää sitten assembly-kielen konekieleksi. ”Linkerinä” tunnettu apuohjelma Yhdistää sitten kaikki tarvittavat konekielimoduulit suoritettavaksi ohjelmaksi, joka voi toimia tietokoneessa. Katso kääntäjän optimointi.
seuraava on käsitteellinen esimerkki siitä, miten lähdekoodi muunnetaan assembly-kieleksi ja konekoodiksi kääntäjän toimesta:

 Source Code IF COUNT=10 GOTO END-OF-JOB ELSE GOTO COMPUTE-AGAIN ENDIF Assembly Language Machine Language Compare A to B Compare 3477 2883 If equal go to C If = go to 23732 Go to D Go to 23119 Machine Code 10010101001010001010100 10101010010101001001010 10100101010001010010010

_compasm.gif

C: stä Assembly-kieleen

A C/C++ – kääntäjä muuntaa C-ja C++ – koodin assembly-kieleksi tämän esimerkin mukaisesti. Punaiset nuolet osoittavat erilaisia funktiokutsuja, ja niiden suorittamiseen käytettävä assembly-koodi seuraa jokaista lausetta.

compile2.jpg

kääntäjät ja tulkit

kootut ohjelmat (oikealla) käännetään kohdetietokoneen konekielelle. Tulkitut ohjelmat (vasemmalla ja keskellä) joko säilytetään alkuperäisessä lähdekoodissaan tai ne esikäännetään välimuotoon. Molemmissa tapauksissa tarvitaan tulkki kääntämään ohjelma konekielelle ajon aikana, kun taas käännetty ohjelma on ” valmiina lähtöön.”

Vastaa

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