Pythonban vagy C++-ban írsz kódot. A számítógép csak bináris kódot ért. A fordítóprogram egy olyan program, amely a forráskódot gépi kóddá alakítja. Beolvassa a teljes programot, hibákat keres, és végrehajtható fájlt hoz létre. Lefordítás után a program fordító nélkül fut.
A fordítóprogramok többet csinálnak, mint pusztán fordítást. Optimalizálnak is. Egy jó fordítóprogram eltávolítja a redundáns utasításokat, átrendezi a műveleteket és hatékonyan osztja ki a regisztereket. A naiv és az optimalizált fordítás közötti különbség akár tízszeres is lehet sebességben.
Az összeállítás szakaszai
- Lexikai elemzés: a kódot tokenekre bontja
- Elemzés: szintaxisfát épít
- Szemantikai elemzés: ellenőrzi a típusokat és a hatókört
- Optimalizálás: javítja a teljesítményt
- Kódgenerálás: gépi kódot hoz létre
Nem minden nyelv használ fordítókat. Az olyan értelmezett nyelvek, mint a Python, soronként hajtják végre a kódot. A just-in-time fordítók mindkét megközelítést ötvözik, futásidőben fordítva a gyors kódútvonalakat. Mindkét stratégia az indítási sebességet a végrehajtási sebességre cseréli.
Comments
No comments yet. Be the first to share a thought.
Leave a comment