mi a fordító?
a fordító olyan számítógépes program, amely a magas szintű programozási nyelven írt kódot gépi kóddá alakítja. Ez egy olyan program, amely lefordítja az ember által olvasható kódot egy olyan nyelvre, amelyet a számítógépes processzor megért (bináris 1 és 0 bit). A számítógép feldolgozza a gépi kódot a megfelelő feladatok elvégzéséhez.
a fordítónak meg kell felelnie annak a programozási nyelvnek a szintaxisszabályának, amelyben meg van írva. A fordító azonban csak egy program, és nem tudja kijavítani a programban található hibákat. Tehát, ha hibát követ el, módosítania kell a program szintaxisát. Ellenkező esetben nem fog összeállítani.
mi az a tolmács?
a tolmács egy számítógépes program, amely minden magas szintű programutasítást a gépi kódba takar. Ez magában foglalja a forráskódot, az előre lefordított kódot és a szkripteket. Mind a fordító, mind a tolmács ugyanazt a munkát végzi, amely magasabb szintű programozási nyelvet konvertál gépi kóddá. A fordító azonban a program futtatása előtt átalakítja a kódot gépi kóddá (létrehoz egy exe-t). Tolmácsok konvertálni kódot gépi kódot, amikor a program fut.
kulcs különbség
- Fordító átalakítja kód írt egy magas szintű programozási nyelv a gépi kódot, egyszerre, mielőtt a program fut, míg egy Tolmács coverts minden magas szintű program utasítás, egyenként, a gépi kódba, a program futtatása közben.
- a lefordított kód gyorsabban fut, míg az értelmezett kód lassabban fut.
- Fordító megjeleníti az összes hibát a fordítás után, másrészt a tolmács az egyes sorok hibáit egyenként jeleníti meg.
- Fordító alapul fordítás összekapcsolása-loading modell, mivel tolmács alapul értelmezési módszer.
- Fordító vesz egy egész programot, míg a tolmács vesz egy sor kódot.
A fordító és a tolmács közötti különbség
a különbség alapja | Fordító | tolmács |
---|---|---|
programozási lépések |
|
|
előny | a program a kód már le van fordítva gépi kódra. Így a kód végrehajtási ideje kevesebb. a | tolmácsok könnyebben használhatók, különösen kezdőknek. |
hátrány | nem változtathatja meg a programot anélkül, hogy visszatérne a forráskódhoz. a | értelmezett programok futtathatók olyan számítógépeken, amelyek rendelkeznek a megfelelő tolmáccsal. |
gépi kód | tárolja a gép nyelvét gépi kódként a lemezen | egyáltalán nem menti a gépi kódot. |
futási idő | lefordított kód gyorsabban fut | értelmezett kód lassabban fut |
modell | ez alapján a nyelvi fordításlinking-loading modell. | é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ó. | nem generál kimeneti programot. Tehát a végrehajtás során minden alkalommal értékelik a forrásprogramot. |
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 hajtotta végre. | a Program végrehajtása részeértelmezési folyamat, így soronként történik. |
memória követelmény | célprogram végrehajtásafüggetlenül, és nem szükséges a fordító a memóriában. | a tolmács az értelmezés során létezik a memóriában. |
legalkalmasabb | korlátozott az adott cél gép, és nem lehet portolni. A C és a C++ a legnépszerűbb programozási nyelv, amely fordítási modellt használ. | webes környezetekben, ahol a betöltési idő fontos. Az összes kimerítő elemzés miatt a fordítások viszonylag nagyobb időt vesznek igénybe még olyan kis kód összeállításához is, amelyet nem lehet többször futtatni. Ilyen esetekben a tolmácsok jobbak. |
Kódoptimalizálás | a fordító előre látja a teljes kódot. Ezért sok optimalizációt hajtanak végre, amelyek gyorsabbá teszik a kód futtatását | a tolmácsok soronként látják a kódokat, és így az optimalizációk nem olyan robusztusak, mint a fordítók |
dinamikus gépelés | nehéz végrehajtani, mivel a fordítók nem tudják megjósolni, mi történik a fordulási időben. | értelmezett nyelvek támogatják a dinamikus gépelést |
használat | ez a legalkalmasabb a termelési környezethez | ez a legmegfelelőbb a programhoz és a fejlesztési környezethez. |
Error execution | a fordító megjeleníti az összes hibát és figyelmeztetést a fordításkor. Ezért nem futtathatja a programot hibák kijavítása nélkül | az értelmező egyetlen utasítást olvas fel, és megjeleníti a hibát, ha van ilyen. A következő sor értelmezéséhez ki kell javítania a hibát. |
bemenet | egy teljes programra van szükség | egyetlen kódsorra van szükség. |
kimenet | a Compliers köztes machnie kódot generál. | tolmács soha nem generál köztes machnie kódot. |
hibák | az összes hiba megjelenítése a fordítás után, egyszerre. | az egyes sorok összes hibáját egyenként jeleníti meg. |
vonatkozó programozási nyelvek | C,C++,C#, Scala, Java minden használat complier. | PHP, Perl, Ruby tolmácsot használ. |
A Fordító szerepe
- a Compliers beolvassa a forráskódot, végrehajtható kódot ad ki
- lefordítja a magasabb szintű nyelven írt szoftvert olyan utasításokká, amelyeket a számítógép megért. Átalakítja a programozó által írt szöveget olyan formátumba, amelyet a CPU meg tud érteni.
- az összeállítás folyamata viszonylag bonyolult. Sok időt tölt a program elemzésével és feldolgozásával.
- a végrehajtható eredmény valamilyen gépspecifikus bináris kód.
A tolmács szerepe
- A tolmács a forráskódot soronként alakítja át futási idő alatt.
- Interpret teljesen lefordítja a magas szintű nyelven írt programot gépi szintű nyelvre.a
- Interpreter lehetővé teszi a program kiértékelését és módosítását a program végrehajtása közben.
- viszonylag kevesebb időt töltött elemzésére és feldolgozására a program
- program végrehajtása viszonylag lassú képest fordító
magas szintű nyelvek
magas szintű nyelvek, mint a C, C++, JAVA, stb., nagyon közel vannak az angolhoz. 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 vagy fordító, vagy tolmács végzi. Más néven forráskód.
gépi kód
a gépi nyelvek nagyon közel állnak a hardverhez. Minden számítógépnek megvan a maga gépi nyelve. A gépi nyelv programok alkotják sorozat bináris minta. (Pl. 110110) ez az egyszerű műveleteket jelenti, amelyeket a számítógépnek el kell végeznie. A gépi nyelvű programok végrehajthatók, így közvetlenül futtathatók.
tárgykód
a forráskód összeállításakor a különböző processzorok, például az Intel, az AMD, az ARM számára generált gépi kód eltérő. ta kód hordozhatóvá tétele érdekében a forráskódot először Objektumkóddá alakítják át. Ez egy közvetítő kód (hasonló a gépi kódhoz), amelyet egyetlen processzor sem fog megérteni. Futási időben az objektumkód átalakul az alapul szolgáló platform gépi kódjává.
A Java mind lefordítva, mind értelmezve van.
a fordítók relatív előnyeinek kihasználása érdekében tolmácsok néhány programozási nyelvet, például a Java-t, mind lefordítanak, mind értelmeznek. Maga a Java kód Objektumkódba kerül. Futási időben a JVM értelmezi az Objektumkódot a célszámítógép gépi kódjába.