Τι είναι ο μεταγλωττιστής, ο διερμηνευτής και ο συνδέτης-φορτωτής μιας γλώσσας προγραμματισμού; Ποιος ο ρόλος τους κατά την παραγωγή του τελικού εκτελέσιμου προγράμματος;
Κάθε πρόγραμμα που γράφεται σε οποιαδήποτε γλώσσα προγραμματισμού, πρέπει να μετατραπεί σε μορφή αναγνωρίσιμη και εκτελέσιμη από τον υπολογιστή, δηλαδή σε εντολές γλώσσας μηχανής. Η μετατροπή αυτή επιτυγχάνεται με τη χρήση ειδικών μεταφραστικών προγραμμάτων. Υπάρχουν δύο μεγάλες κατηγορίες τέτοιων προγραμμάτων:
- ο μεταγλωττιστής είναι ένα πρόγραμμα το οποίο δέχεται ως είσοδο ένα πρόγραμμα γραμμένο σε μια γλώσσα υψηλού επιπέδου (“πηγαίο” πρόγραμμα) και το μεταφράζει σε γλώσσα μηχανής (“αντικείμενο” πρόγραμμα). Το αντικείμενο-πρόγραμμα που προκύπτει από τον μεταγλωττιστή πρέπει, για να μπορεί να εκτελεστεί, να συνδεθεί με άλλα τμήματα προγράμματος που μπορεί να έχουν γραφεί από τον ίδιο προγραμματιστή ή να υπάρχουν ήδη έτοιμα από τον κατασκευαστή της γλώσσας (βιβλιοθήκες). Ο συνδέτης-φορτωτής αναλαμβάνει τη σύνδεση αυτή και παράγει το τελικό εκτελέσιμο πρόγραμμα. Για το λόγο αυτό η συνολική διαδικασία αποκαλείται μεταγλώττιση και σύνδεση.
- ο διερμηνευτής είναι ένα πρόγραμμα που διαβάζει μία προς μία τις εντολές του πηγαίου προγράμματος και για κάθε μία από αυτές εκτελεί αμέσως μια ισοδύναμη ακολουθία εντολών μηχανής.