Προγραμματισμός

Γνώση Υπολογιστών >> Προγραμματισμός >  >> Προγραμματισμός Υπολογιστών Γλώσσες

Ποιες είναι οι ξαδέλφες του μεταγλωττιστή;

Ενώ ο όρος "ξαδέλφια" δεν είναι αυστηρός τεχνικός όρος στην επιστήμη των υπολογιστών, μπορούμε να σκεφτούμε τα ακόλουθα εργαλεία ως στενούς συγγενείς για τους μεταγλωττιστές:

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

Αυτά τα εργαλεία έχουν όλα παρόμοιο στόχο να μετατρέψουν τον κώδικα από τη μία φόρμα σε άλλο, καθιστώντας τους στενούς συγγενείς στην οικογένεια του μεταγλωττιστή. Ωστόσο, ο καθένας έχει συγκεκριμένα καθήκοντα και εργάζεται σε διαφορετικά επίπεδα αφαίρεσης.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα