Mi az a fordító?
A fordító olyan számítógépes program, amely átalakítja a magas szintű programozási nyelven írt kódot a gépi kóddá. Ez egy olyan program, amely az ember által olvasható kódot lefordítja egy olyan nyelvre, amelyet a számítógép processzora ért (bináris 1 és 0 bit). A számítógép feldolgozza a gép kódját a megfelelő feladatok elvégzéséhez.
A fordítónak meg kell felelnie annak a programozási nyelvnek a szintaxis szabályának, amelyre írták. A fordító azonban csak program, és nem tudja kijavítani az adott programban talált hibákat. Tehát, ha hibát követ el, változtatnia kell a program szintaxisában. Ellenkező esetben nem fog összeállítani.
Mi az a tolmács?
A tolmács egy számítógépes program, amely minden egyes magas szintű programmondatot a gépi kódba takar. Ez magában foglalja a forráskódot, az előre lefordított kódot és a szkripteket. A fordító és az értelmezők is ugyanazt a munkát végzik, amely a magasabb szintű programozási nyelvet gépi kódokká konvertálja. A fordító azonban a program futtatása előtt konvertálja a kódot gépi kódgá (exe létrehozása). A tolmácsok a program futtatásakor kódot alakítanak gépi kódgá.
FŐ KÜLÖNBSÉG
- A fordító a program futtatása előtt egy magas szintű programozási nyelven írt kódot alakít át egyszerre a gép kódjává, míg a tolmács a program futtatása során egyes magas szintű program utasításokat egyesével a gépi kódokká fedi le.
- A lefordított kód gyorsabban, míg az értelmezett kód lassabban fut.
- A fordító az összes hibát megjeleníti a fordítás után, másrészt az Tolmács egyesével megjeleníti az egyes sorok hibáit.
- A fordító fordítás összekapcsoló-betöltő modellen, míg az Tolmács az értelmezési módszeren alapszik.
- A fordító egy teljes programot vesz igénybe, míg a tolmács egyetlen kódsort.
Különbség a fordító és a tolmács között
A különbség alapja | Fordítóprogram | Tolmács |
---|---|---|
Programozási lépések |
|
|
Előny | A programkód már lefordítva gépi kódra. Így a kód végrehajtási ideje kevesebb. | A tolmácsok használata könnyebb, különösen a kezdők számára. |
Hátrány | Nem változtathatja meg a programot, ha nem tér vissza a forráskódra. | Értelmezett programok futtathatók olyan számítógépeken, amelyek rendelkeznek a megfelelő tolmácssal. |
Gépkód | Tárolja a gép nyelvét gépi kódként a lemezen | A gépi kódot egyáltalán nem menti. |
Futási idő | A lefordított kód gyorsabban fut | Az értelmezett kód lassabban fut |
Modell | Nyelvi fordításlinking-loading modellen alapul. | Értelmezési módszeren alapul. |
Programgenerálás | Kimeneti programot generál (exe formájában), amely az eredeti programtól függetlenül futtatható. | Ne generáljon kimeneti programot. Tehát kiértékelik a forrásprogramot a végrehajtás során. |
Végrehajtás | A program végrehajtása elkülönül a fordítástól. Csak a teljes kimeneti program összeállítása után teljesít. | A programfuttatás az Értelmezési folyamat része, ezért soronként történik. |
Memóriaigény | A célprogram függetlenül fut, és nem igényli a fordítót a memóriában. | A tolmács az értelmezés során a memóriában létezik. |
A legalkalmasabb | Az adott célgéphez kötött és nem portolható. A C és a C ++ a legnépszerűbb programozási nyelv, amely fordítási modellt használ. | Webes környezeteknél, ahol a betöltési idő fontos. Az összes kimerítő elemzés miatt a fordítások viszonylag hosszabb időt vesznek igénybe olyan kis kódok összeállításához, amelyek esetleg nem futtathatók többször. Ilyen esetekben a tolmácsok jobbak. |
Kódoptimalizálás | A fordító előre látja a teljes kódot. Ezért rengeteg optimalizálást hajtanak végre, amelyek gyorsabbá teszik a kód futtatását | Az értelmezők soronként látják a kódokat, így az optimalizálás nem olyan robusztus, mint a fordítók |
Dinamikus gépelés | A fordítóként nehezen megvalósítható nem tudja megjósolni, mi történik a fordulat idején. | Az értelmezett nyelvek támogatják a dinamikus gépelést |
Használat | A legmegfelelőbb a gyártási környezethez | A legalkalmasabb a programhoz és a fejlesztési környezethez. |
Hiba végrehajtás | A fordító az összes hibát és figyelmeztetést megjeleníti a fordítás idején. Ezért nem futtathatja a programot hibák kijavítása nélkül | A tolmács egyetlen utasítást olvas és megmutatja a hibát, ha van ilyen. Javítsa ki a hibát a következő sor értelmezéséhez. |
Bemenet | Egy teljes program szükséges | Egyetlen kódsor szükséges. |
Kimenet | A teljesítők köztes machnie kódot generálnak. | A tolmács soha nem generál köztes machnie kódot. |
Hibák | Minden hiba megjelenítése, fordítás után, egyszerre. | Az egyes sorok összes hibáját egyenként jeleníti meg. |
Programozási nyelvek | A C, C ++, C #, Scala, Java mind kompatibilis. | A PHP, Perl, Ruby tolmácsot használ. |
A fordító szerepe
- A teljesítők elolvassák a forráskódot, kimenő végrehajtó kódot adnak ki
- A magasabb szintű nyelven írt szoftvert lefordítja a számítógép számára érthető utasításokba. Konvertálja a programozó által írt szöveget a CPU által érthető formátumba.
- Az összeállítás folyamata viszonylag bonyolult. Sok időt tölt a program elemzésével és feldolgozásával.
- A futtatható eredmény a gépspecifikus bináris kód valamilyen formája.
A tolmács szerepe
- A tolmács soronként konvertálja a forráskódot a RUN idő alatt.
- Az Interpret teljesen lefordítja a magas szintű nyelven írt programot gépi nyelvre.
- Az Tolmács lehetővé teszi a program kiértékelését és módosítását annak végrehajtása közben.
- Viszonylag kevesebb időt fordítunk a program elemzésére és feldolgozására
- A program futtatása a fordítóhoz képest viszonylag lassú
MAGAS SZINTŰ NYELVEK
A magas szintű nyelvek, például a C, C ++, JAVA stb. Nagyon közel állnak az angol nyelvhez. Ez megkönnyíti a programozási folyamatot. A végrehajtás előtt azonban le kell fordítani gépi nyelvre. Ezt a fordítási folyamatot fordító vagy tolmács végzi. Forráskód néven is ismert.
GÉPKÓD
A gépi nyelvek nagyon közel állnak a hardverhez. Minden számítógépnek megvan a saját gépnyelve. A gépnyelvi programok bináris mintasorozatokból állnak. (Pl. 110110) Az egyszerű műveleteket jelenti, amelyeket a számítógépnek el kell végeznie. A gépi nyelvű programok futtathatóak, így közvetlenül futtathatók.
TÁRGYKÓD
A forráskód összeállításakor a különböző processzorokhoz, például az Intelhez, az AMD-hez és az ARM-hez generált gépi kód eltér. tA kód hordozhatósága érdekében a forráskódot először Object Code-vá alakítják át. Ez egy közvetítő kód (hasonló a gépi kódhoz), amelyet egyetlen processzor sem fog megérteni. Futtatáskor az objektumkód átalakul az alapul szolgáló platform gépi kódjává.
A Java egyszerre fordított és értelmezett.
A fordítók értelmezőinek relatív előnyeinek kiaknázására egyes programozási nyelveket, például a Java-t fordítanak és értelmeznek. Maga a Java kód Object Code-ba van fordítva. Futás közben a JVM az Object kódot a célszámítógép gépkódjává értelmezi.