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

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

Πόσοι μεταγλωττιστές, δηλαδή τα μπροστινά άκρα και το πίσω μέρος απαιτούνται για τις μηχανές M Machines N κάνοντας χρήση μιας ενδιάμεσης γλώσσας;

Εδώ είναι πώς να καταργήσετε τις απαιτήσεις του μεταγλωττιστή για πολλές γλώσσες και μηχανές χρησιμοποιώντας μια ενδιάμεση γλώσσα:

Κατανόηση των στοιχείων

* μπροστινό άκρο (μεταγλωττιστής): Αυτό το τμήμα του μεταγλωττιστή διαβάζει τον πηγαίο κώδικα σε μια συγκεκριμένη γλώσσα προγραμματισμού και το μεταφράζει σε μια ενδιάμεση αναπαράσταση (IR). Θα χρειαστείτε ένα μπροστινό μέρος για κάθε γλώσσα προγραμματισμού που θέλετε να υποστηρίξετε.

* Ενδιάμεση γλώσσα (IR): Αυτή είναι μια κοινή γλώσσα που χρησιμεύει ως γέφυρα μεταξύ των μπροστινών άκρων και των πίσω άκρων. Έχει σχεδιαστεί για να είναι ανεξάρτητη από μηχανή.

* πίσω άκρο (μεταγλωττιστής): Αυτό το τμήμα του μεταγλωττιστή παίρνει το IR και δημιουργεί κωδικό μηχανής για ένα συγκεκριμένο μηχάνημα προορισμού. Θα χρειαστείτε ένα πίσω άκρο για κάθε αρχιτεκτονική του μηχανήματος που θέλετε να υποστηρίξετε.

Υπολογισμός

* μπροστινά άκρα: Χρειάζεστε ένα μπροστινό άκρο για κάθε γλώσσα: m μπροστινά άκρα

* Πίσω άκρα: Χρειάζεστε ένα πίσω άκρο για κάθε μηχανή: n πίσω άκρα

Σύνολο: Χρειάζεστε m + n μεταγλωττιστές (μπροστά άκρα και πίσω άκρα).

Παράδειγμα

Ας πούμε ότι έχετε:

* m =3 Γλώσσες προγραμματισμού (C ++, Python, Java)

* n =2 Αρχιτεκτονικές μηχανών (x86 και βραχίονα)

Θα χρειαστείτε:

* 3 μπροστινά άκρα (ένα για κάθε γλώσσα)

* 2 πίσω τελειώνει (ένα για κάθε αρχιτεκτονική)

* Σύνολο:5 μεταγλωττίσματα

Οφέλη μιας ενδιάμεσης γλώσσας

Η χρήση μιας ενδιάμεσης γλώσσας προσφέρει πολλά πλεονεκτήματα:

* Κωδικός επαναχρησιμοποίησης: Ο κώδικας IR μπορεί να χρησιμοποιηθεί από διαφορετικά εμπρόσθια άκρα και πίσω άκρα, μειώνοντας την αναπτυξιακή προσπάθεια.

* Φορητότητα: Ο κώδικας που συντάχθηκε στο IR μπορεί να εκτελεστεί σε οποιοδήποτε μηχάνημα με αντίστοιχο πίσω άκρο.

* Βελτιστοποίηση: Οι βελτιστοποιήσεις μπορούν να εφαρμοστούν σε επίπεδο IR, ωφελώντας όλες τις γλώσσες και τις μηχανές.

Σημαντική σημείωση: Η επιλογή της ενδιάμεσης γλώσσας είναι κρίσιμη. Θα πρέπει να είναι αποτελεσματικό, κατάλληλο για βελτιστοποίηση και να έχει ένα ώριμο οικοσύστημα.

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

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