Du skriver kode i Python eller C++. Datamaskinen forstår bare binærkode. En kompilator er et program som oversetter kildekode til maskinkode. Den leser hele programmet ditt, sjekker for feil og produserer en kjørbar fil. Når det er kompilert, kjører programmet uten kompilatoren.
Kompilatorer gjør mer enn å oversette. De optimaliserer. En god kompilator fjerner overflødige instruksjoner, omorganiserer operasjoner og allokerer registre effektivt. Forskjellen mellom en naiv oversettelse og en optimalisert oversettelse kan være ti ganger så rask.
Stadier av kompilering
- Leksikalsk analyse: deler opp kode i tokens
- Parsing: bygger et syntakstre
- Semantisk analyse: typer og omfang av kontroller
- Optimalisering: forbedrer ytelsen
- Kodegenerering: produserer maskinkode
Ikke alle språk bruker kompilatorer. Tolkede språk som Python kjører kode linje for linje. Just-in-time-kompilatorer blander begge tilnærmingene og kompilerer aktiv kode under kjøring. Hver strategi bytter oppstartshastighet mot utførelseshastighet.
Comments
No comments yet. Be the first to share a thought.
Leave a comment