Tartalomjegyzék:
Meghatározás - Mit jelent a fordító?
A fordító egy olyan program, amely a fejlesztő által magas szintű programozási nyelven írt magas szintű forráskódot alacsony szintű objektumkódra (bináris kódra) alakítja gépi nyelven, amelyet a processzor megérthet. A magas szintű programozás gépi nyelvre konvertálásának folyamatát fordításnak nevezzük.
A processzor végrehajtja az objektumkódot, amely jelzi, hogy mikor kell a bináris magas és alacsony jelekre a processzor aritmetikai logikai egységében.
A Techopedia magyarázza a Compiler-t
A fordítót, amely a gépi nyelvet magas szintű természetes nyelvre konvertálja, dekompilátornak nevezzük. Azokat a fordítókat, amelyek előállítják a rendszerben futtatni kívánt objektumkódot, kereszt-fordítónak nevezzük. Végül, egy fordítót, amely az egyik programozási nyelvet másra konvertálja, nyelvfordítónak nevezzük.
A fordító négy fő lépést hajt végre:
- Szkennelés : A szkenner egyszerre olvas egy karaktert a forráskódból, és nyomon követi, melyik karakter jelenik meg az adott sorban.
- Lexikális elemzés : A fordító a forráskódban szereplő karaktersorozatokat karakterláncok sorozatává alakítja (tokeneknek nevezzük), amelyeket egy lexikai elemzőnek nevezett program egy adott szabály társít. A szimbólumtáblát a lexikai elemző használja a forráskódban szereplő szavak tárolására, amelyek megfelelnek a generált tokennek.
- Szintaktikai elemzés : Ebben a lépésben elvégezzük a szintaxis elemzést, amely előzetes feldolgozást foglal magában annak meghatározására, hogy a lexikai elemzés során létrehozott tokenek felhasználásuknak megfelelően vannak-e a rendben. A kulcsszókészlet helyes sorrendjét, amely a kívánt eredményt hozhatja, szintaxisnak nevezzük. A fordítónak ellenőriznie kell a forráskódot a szintaktikai pontosság biztosítása érdekében.
- Szemantikus elemzés : Ez a lépés több közbenső lépést tartalmaz. Először ellenőrzik a tokenek szerkezetét, a sorrendjükkel együtt az adott nyelv nyelvtanához viszonyítva. A token-struktúra jelentését az elemző és az elemző értelmezi, hogy végül előállítson egy közbenső kódot, azaz objektumkódot. Az objektumkód utasításokat tartalmaz, amelyek képviselik a processzor műveletét egy megfelelő token számára, amikor a programban találkoznak. Végül a teljes kódot elemzi és értelmezi annak ellenőrzése érdekében, hogy lehetséges-e bármilyen optimalizálás. Miután az optimalizálás elvégezhető, a megfelelő módosított tokenek beillesztésre kerülnek az objektumkódba, hogy előállítsák a végső objektumkódot, amelyet egy fájlban mennek el.
