περιβάλλοντος

Τι είναι ένας μεταγλωττιστής ή πώς να κάνετε έναν υπολογιστή να καταλάβει τι θέλετε από αυτό;

Πίνακας περιεχομένων:

Τι είναι ένας μεταγλωττιστής ή πώς να κάνετε έναν υπολογιστή να καταλάβει τι θέλετε από αυτό;
Τι είναι ένας μεταγλωττιστής ή πώς να κάνετε έναν υπολογιστή να καταλάβει τι θέλετε από αυτό;
Anonim

Το τελικό στάδιο της δημιουργίας ενός προγράμματος είναι η μετάφραση ενός αλγορίθμου γραμμένου σε μία από τις γλώσσες προγραμματισμού (C / C ++, Pascal κ.λπ.) σε μια γλώσσα μηχανής χαμηλού επιπέδου. Αυτό οφείλεται στο γεγονός ότι οι υπολογιστές πρέπει να εκτελούν εντολές σε μια γλώσσα που καταλαβαίνουν ότι είναι κοντά στο δυαδικό και λειτουργεί με πρωτότυπες δομές δεδομένων (bit, byte ή λέξη) για να εκτελέσει μια εργασία. Η διαδικασία της μετάφρασης προβληματικών χειριστών γλωσσών υψηλού επιπέδου στον δυαδικό κώδικα ονομάζεται μετάφραση. Υπάρχουν δύο μέθοδοι μετάφρασης - σύνταξη και ερμηνεία.

Image

Compiler - τι είναι;

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

Μεταγλωττιστής και διερμηνέας - ομοιότητες και διαφορές

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

Μπορούμε να πούμε ότι ο μεταγλωττιστής και ο διερμηνέας είναι επεξεργαστές γλώσσας που επιτρέπουν στον υπολογιστή να αναγνωρίζει και να εκτελεί εντολές που δίδονται από τον προγραμματιστή.

Ταξινόμηση μεταγλωττιστή

Image

Οι μεταγλωττιστές ταξινομούνται κυρίως από χαρακτηριστικά που σχετίζονται με τους τομείς εφαρμογής τους.

Ο διανυσματικός μεταγλωττιστής είναι ένα βοηθητικό πρόγραμμα που μεταφράζει τον πηγαίο κώδικα σε αντικειμενικό κώδικα και είναι προσαρμοσμένο για υπολογιστές εξοπλισμένους με φορέα επεξεργαστές.

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

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

Ο μεταγλωττιστής (βήμα προς βήμα) είναι ένα βοηθητικό πρόγραμμα, το οποίο διαχωρίζει ανεξάρτητα ανεξάρτητα από κάθε εντολή ή εντολή από τον πηγαίο κώδικα υψηλού επιπέδου.

Ο μεταγλωττιστής μεταγλωττιστή είναι ένας μεταγλωττιστής ικανός να αντιλαμβάνεται μια τυπική περιγραφή για μια γλώσσα προγραμματισμού και να δημιουργεί ανεξάρτητα έναν μεταγλωττιστή για οποιαδήποτε γλώσσα.

Image

Ο μεταγλωττιστής σφαλμάτων σάς επιτρέπει να βρείτε και να διορθώσετε ορισμένους τύπους σφαλμάτων σύνταξης που δημιουργούνται κατά την εγγραφή του πηγαίου κώδικα

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

Ο αυτόματος μεταγλωττιστής μεταγλωττιστής γράφεται στην ίδια γλώσσα από την οποία εκτελείται η μετάφραση.

Ο γενικός μεταγλωττιστής βασίζεται σε μια τυπική περιγραφή των σημασιολογικών και συντακτικών παραμέτρων της γλώσσας εισαγωγής. Τα βασικά συστατικά μιας τέτοιας χρησιμότητας είναι ο πυρήνας, οι συντακτικοί και οι σημασιολογικοί φορτωτές.

Συσκευή μεταγλωττιστή

Στην καρδιά κάθε μεταγλωττιστή είναι ο μεταφραστής και ο συνδέτης. Συχνά, κατά τη σύνταξη, χρησιμοποιείται εξωτερικός σύνδεσμος και ο ίδιος ο μεταγλωττιστής εκτελεί μόνο τη λειτουργία μετάφρασης. Επίσης συμβαίνει ότι ο μεταγλωττιστής υλοποιείται ως ένα είδος προγράμματος διαχειριστή που σχετίζεται με τον μεταφραστή (ή μεταφραστές, αν χρησιμοποιήθηκαν διαφορετικές γλώσσες προγραμματισμού κατά την εγγραφή του πηγαίου κώδικα) και το linker και την εκτόξευσή τους εάν είναι απαραίτητο.

Γλώσσες προγραμματισμού και μεθόδους μετάφρασης

Image

Παρά το γεγονός ότι ένα πρόγραμμα γραμμένο σε οποιαδήποτε γλώσσα προγραμματισμού μπορεί είτε να συνταχθεί είτε να ερμηνευτεί, πολλές γλώσσες υψηλού επιπέδου είναι προδιάθεση για τη μία ή την άλλη μέθοδο μετάφρασης. Έτσι, η γλώσσα C σχεδιάστηκε αρχικά για τη σύνταξη, και η Java - για την ερμηνεία ενός γραπτού προγράμματος. C μεταγλωττιστές αναπτύσσονται αρκετά εύκολα, λόγω του σχετικά χαμηλού επιπέδου και ενός μικρού αριθμού δομικών στοιχείων.