Μεταγλωττιστής
Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Μεταγλωττιστή ή μεταφραστή (στα αγγλικά compiler) ονομάζουμε ένα πρόγραμμα που μετατρέπει/μεταφράζει κείμενο γραμμένο σε μια γλώσσα προγραμματισμού (πηγαία γλώσσα) σε μια άλλη γλώσσα προγραμματισμού (τη γλώσσα στόχο). Το κείμενο της εισόδου ονομάζεται πηγαίος κώδικας (source code) και η έξοδος του προγράμματος αντικειμενικός κώδικας (object code).
Συνήθως χρησιμοποιούμε τον μεταγλωττιστή για να μετατρέψουμε ένα πρόγραμμα (με τη μορφή αρχείων κειμένου που περιέχουν το πρόγραμμα) από μια γλώσσα υψηλού επιπέδου) σε μια γλώσσα χαμηλότερου επιπέδου όπως π.χ. είναι η συμβολική γλώσσα ή η γλώσσα μηχανής.
Την ίδια ακριβώς εργασία εκτελεί και ο διερμηνευτής (interpreter). Η βασική διαφορά των δύο προγραμμάτων είναι ότι ενώ ο μεταγλωττιστής διαβάζει πρώτα ολόκληρο το πηγαίο πρόγραμμα και ύστερα το μετατρέπει σε γλώσσα μηχανής, ο διερμηνευτής μετατρέπει σε γλώσσα μηχανής το πρόγραμμα εντολή προς εντολή. Αυτό σημαίνει ότι το μεταγλωττισμένο πρόγραμμα εκτελείται μέχρι και 120 φορές ταχύτερα από το ίδιο πηγαίο πρόγραμμα διερμηνευμένο. Ωστόσο, ο διερμηνευτής είναι προτιμότερος όταν το πηγαίο πρόγραμμα περιέχει σφάλματα, καθώς σταματά τη διερμηνεία εμφανίζοντας μήνυμα σφάλματος απόλυτα αντιληπτό από τον προγραμματιστή. Ένα μεταγλωττισμένο πρόγραμμα, ωστόσο, είτε δεν είναι δυνατό να εκτελεστεί καθόλου, είτε εμφανίζει μήνυμα σφάλματος μη κατανοητό από τον προγραμματιστή, ως προς το είδος και τη θέση του σφάλματος στον πηγαίο κώδικα.

