* Compiler: Ένας μεταγλωττιστής μεταφράζει ολόκληρο τον πηγαίο κώδικα σε κώδικα μηχανής (ή μια ενδιάμεση αναπαράσταση όπως το BYTECODE) * Πριν εκτελεστεί το πρόγραμμα. Ο κώδικας μηχανής που προκύπτει μπορεί στη συνέχεια να εκτελεστεί απευθείας από τον επεξεργαστή του υπολογιστή. Οι μεταγλωττιστές συνήθως παράγουν βελτιστοποιημένο κώδικα για καλύτερη απόδοση, αλλά η ίδια η διαδικασία συλλογής μπορεί να πάρει χρόνο. Παραδείγματα περιλαμβάνουν το GCC (συλλογή μεταγλωττιστή GNU) και το clang.
* Διερμηνέας: Ένας διερμηνέας μεταφράζει και εκτελεί τη γραμμή πηγαίου κώδικα ανά γραμμή, χωρίς να δημιουργεί ένα ανεξάρτητο εκτελέσιμο αρχείο. Αυτό επιτρέπει ταχύτερη ανατροφοδότηση κατά τη διάρκεια της ανάπτυξης, διότι τα σφάλματα εντοπίζονται μόλις συναντηθούν. Ωστόσο, ο ερμηνευμένος κώδικας γενικά λειτουργεί πιο αργά από τον κώδικα που έχει καταρτιστεί. Παραδείγματα περιλαμβάνουν τους διερμηνέα της Python και τους κινητήρες JavaScript σε προγράμματα περιήγησης ιστού.
* Assembler: Ένας συναρμολογητής είναι ένας συγκεκριμένος τύπος μεταφραστή που μετατρέπει τη γλώσσα συναρμολόγησης (μια γλώσσα προγραμματισμού χαμηλού επιπέδου) σε κώδικα μηχανής. Η γλώσσα συναρμολόγησης χρησιμοποιεί μνημονικά (σύντομες συντομογραφίες) που αντιπροσωπεύουν οδηγίες μηχανής, καθιστώντας το ελαφρώς πιο ανθρώπινο αναγνώσιμο από τον καθαρό κώδικα μηχανής.
* transpiler (ή μεταγλωττιστής πηγής προς πηγή): Ένας μεταφορέας μεταφράζει τον πηγαίο κώδικα από μία γλώσσα προγραμματισμού υψηλού επιπέδου σε μια άλλη γλώσσα προγραμματισμού υψηλού επιπέδου. Δεν δημιουργεί απευθείας κώδικα μηχανής. Αυτό είναι χρήσιμο για τη μεταφορά κώδικα μεταξύ διαφορετικών γλωσσών ή για τον εκσυγχρονισμό του κώδικα κληρονομιάς. Παραδείγματα περιλαμβάνουν Babel (μεταφορά JavaScript ES6+ σε ES5) και TypleScript Compilers (Transpiling TypeScript στο JavaScript).
Η βασική διαφορά μεταξύ αυτών των τύπων έγκειται στο * όταν * και * πώς συμβαίνει η μετάφραση. Οι μεταγλωττιστές μεταφράζουν τα πάντα εκ των προτέρων, οι διερμηνείς μεταφράζουν και εκτελούν τη γραμμή ανά γραμμή και μεταφράζονται μεταφραστές μεταξύ γλωσσών υψηλού επιπέδου. Οι συναρμολογητές είναι μια εξειδικευμένη μορφή μεταγλωττιστή που εστιάζει σε μια γλώσσα πολύ χαμηλού επιπέδου.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα