Γράφετε κώδικα σε Python ή C++. Ο υπολογιστής κατανοεί μόνο δυαδικό κώδικα. Ένας μεταγλωττιστής είναι ένα πρόγραμμα που μεταφράζει τον πηγαίο κώδικα σε κώδικα μηχανής. Διαβάζει ολόκληρο το πρόγραμμά σας, ελέγχει για σφάλματα και παράγει ένα εκτελέσιμο αρχείο. Μόλις μεταγλωττιστεί, το πρόγραμμα εκτελείται χωρίς τον μεταγλωττιστή.
Οι μεταγλωττιστές κάνουν περισσότερα από το να μεταφράζουν. Βελτιστοποιούν. Ένας καλός μεταγλωττιστής αφαιρεί περιττές εντολές, αναδιατάσσει τις λειτουργίες και κατανέμει αποτελεσματικά τα μητρώα. Η διαφορά μεταξύ μιας απλής μετάφρασης και μιας βελτιστοποιημένης μπορεί να είναι δεκαπλάσια σε ταχύτητα.
Στάδια σύνταξης
- Λεξιλογική ανάλυση: διασπά τον κώδικα σε διακριτικά (tokens)
- Ανάλυση: δημιουργεί ένα δέντρο σύνταξης
- Σημασιολογική ανάλυση: τύποι και πεδίο εφαρμογής ελέγχων
- Βελτιστοποίηση: βελτιώνει την απόδοση
- Δημιουργία κώδικα: παράγει κώδικα μηχανής
Δεν χρησιμοποιούν όλες οι γλώσσες μεταγλωττιστές. Οι διερμηνευμένες γλώσσες όπως η Python εκτελούν κώδικα γραμμή προς γραμμή. Οι μεταγλωττιστές just-in-time συνδυάζουν και τις δύο προσεγγίσεις, μεταγλωττίζοντας διαδρομές hot code κατά τον χρόνο εκτέλεσης. Κάθε στρατηγική ανταλλάσσει την ταχύτητα εκκίνησης με την ταχύτητα εκτέλεσης.
Comments
No comments yet. Be the first to share a thought.
Leave a comment