Kompilaator vs tõlk
Kompilaator ja tõlk, mõlemad täidavad põhimõtteliselt sama eesmärki. Nad teisendavad ühe keeletaseme teisele tasemele. Kompilaator teisendab kõrgetasemelised käsud masinkeeleks, tõlk teisendab kõrgetasemelised käsud mõneks vahepealseks vormiks ja pärast seda käsk täidetakse.
Kompilaator
Kompilaator on defineeritud kui arvutiprogramm, mida kasutatakse kõrgetasemeliste juhiste või keele teisendamiseks arvutile arusaadavasse vormi. Kuna arvuti saab aru ainult kahendarvudest, kasutatakse lünga täitmiseks kompilaatorit, vastasel juhul oleks inimesel olnud raske leida teavet kujul 0 ja 1.
Varem olid kompilaatorid lihtsad programmid, mida kasutati sümbolite bittideks teisendamiseks. Programmid olid samuti väga lihtsad ja sisaldasid mitmeid samme, mis olid käsitsi andmetesse tõlgitud. See oli aga väga aeganõudev protsess. Niisiis olid mõned osad programmeeritud või automatiseeritud. See moodustas esimese kompilaatori.
Lihtsamate koostajate abil luuakse keerukamaid koostajaid. Iga uue versiooniga lisandub sellele rohkem reegleid ja luuakse inimprogrammeerijale loomulikum keelekeskkond. Kompilaatoriprogrammid arenevad sellisel viisil, mis muudab nende kasutusmugavuse paremaks.
Teatud kindlate keelte või ülesannete jaoks on olemas spetsiaalsed kompliaatorid. Täitjad võivad olla mitme- või mitmeastmelised. Esimene läbimine võib teisendada kõrgetasemelise keele arvutikeelele lähedasemaks keeleks. Seejärel saavad edasised käigud selle täitmiseks viimaseks etapiks teisendada.
Tõlk
Kõrgetasemelistes keeltes loodud programme saab käivitada kahel erineval viisil. Esimene meetod on kompilaatori kasutamine ja teine meetod on tõlgi kasutamine. Kõrgetasemelise õpetuse või keele teisendab tõlk kesktasemeks. Tõlgi kasutamise eeliseks on see, et kõrgetasemeline juhendamine ei läbi kompileerimisetappi, mis võib olla aeganõudev meetod. Seega käivitatakse tõlgi abil kõrgetasemeline programm otse. See on põhjus, miks mõned programmeerijad kasutavad väikeste lõikude tegemisel tõlke, kuna see säästab aega.
Peaaegu kõigil kõrgetasemelistel programmeerimiskeeltel on kompilaatorid ja tõlgid. Kuid mõned keeled, nagu LISP ja BASIC, on loodud nii, et nende abil tehtud programme käivitab tõlk.
Erinevus kompilaatori ja tõlgi vahel
• Koostaja teisendab kõrgetasemelised juhised masinkeeleks, tõlk aga teisendab kõrgetasemelised juhised keskmiseks vormiks.
• Enne käivitamist käivitab kompilaator kogu programmi, samas kui pärast esimese rea tõlkimist käivitab tõlk selle ja nii edasi.
• Vigade loendi loob kompilaator pärast kompileerimisprotsessi, samal ajal kui tõlk lõpetab tõlkimise pärast esimest viga.
• Sõltumatu käivitatava faili loob kompilaator, samas kui tõlgendatud programm nõuab tõlki iga kord.