1. Διόρτορες:
* Σχέση: Οι διερμηνείς είναι σαν τους μεταγλωττιστές αλλά αντί να παράγουν κώδικα μηχανής, εκτελούν απευθείας τον πηγαίο κώδικα.
* Διαφορά: Οι μεταγλωττιστές μεταφράζουν ολόκληρο το πρόγραμμα ταυτόχρονα, ενώ οι διερμηνείς εκτελούν κάθε γραμμή μία προς μία.
* Παράδειγμα: Python, JavaScript, Ruby
2. Συναρμολογητές:
* Σχέση: Οι συναρμολογητές μεταφράζουν τη γλώσσα συναρμολόγησης (κώδικα χαμηλού επιπέδου) στον κώδικα μηχανής, ενεργώντας ως γέφυρα μεταξύ του ανθρώπινου αναγνώσιμου κώδικα και της γλώσσας του υπολογιστή.
* Διαφορά: Οι μεταγλωττιστές συνεργάζονται με γλώσσες υψηλού επιπέδου, ενώ οι συναρμολογητές ασχολούνται με οδηγίες χαμηλού επιπέδου.
* Παράδειγμα: Nasm, masm
3. Αναφέροντες:
* Σχέση: Οι μεταφορείς ή οι μεταγλωττιστές πηγής προς πηγή, μετατρέπουν τον κώδικα από μία γλώσσα προγραμματισμού σε άλλη.
* Διαφορά: Αντί να παράγουν κώδικα μηχανής, εξάγουν κώδικα σε διαφορετική γλώσσα υψηλού επιπέδου.
* Παράδειγμα: BABEL (Transpiles JavaScript Code), TypeScript (Transpiles to JavaScript), Coffeescript (Transpiles to JavaScript)
4. Προεπεξεργαστές:
* Σχέση: Οι προεπεξεργαστές τροποποιούν τον πηγαίο κώδικα πριν από τη σύνταξη. Μπορούν να ορίσουν μακροεντολές, να περιλαμβάνουν εξωτερικά αρχεία και να χειρίζονται τη συλλογή υπό όρους.
* Διαφορά: Χρησιμοποιούνται ως βήμα προεπεξεργασίας πριν από την πραγματική διαδικασία συλλογής.
* Παράδειγμα: C Preprocessor, Sass (Preprocessor για CSS)
5. Διευθυντές:
* Σχέση: Οι αποσυμπιεστές είναι το αντίθετο των μεταγλωττιστών. Προσπαθούν να αντιστρέψουν τον κώδικα μηχανικού μηχανικού πίσω σε μια γλώσσα υψηλού επιπέδου.
* Διαφορά: Οι αποσυμπιεστές συχνά χάνουν πληροφορίες κατά τη διάρκεια της διαδικασίας, με αποτέλεσμα λιγότερο ευανάγνωστο κώδικα.
* Παράδειγμα: Ida Pro, Ghidra
6. Σύνδεσμοι:
* Σχέση: Οι σύνδεσμοι συνδυάζουν τον συντεταγμένο κώδικα από πολλαπλά αρχεία σε ένα μόνο εκτελέσιμο αρχείο.
* Διαφορά: Δεν αποτελούν μέρος της ίδιας της διαδικασίας συλλογής, αλλά είναι ζωτικής σημασίας για την οικοδόμηση ενός πλήρους προγράμματος.
* Παράδειγμα: GNU LD, Microsoft Linker
Αυτά τα εργαλεία έχουν όλα παρόμοιο στόχο να μετατρέψουν τον κώδικα από τη μία φόρμα σε άλλο, καθιστώντας τους στενούς συγγενείς στην οικογένεια του μεταγλωττιστή. Ωστόσο, ο καθένας έχει συγκεκριμένα καθήκοντα και εργάζεται σε διαφορετικά επίπεδα αφαίρεσης.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα