Skip to main content

Τι είναι μια ενδιάμεση γλώσσα;

Στον προγραμματισμό των υπολογιστών, όταν ο πηγαίος κώδικας που μπορεί να διαβάσει από τον άνθρωπο αναλύεται από έναν μεταγλωττιστή, ο μεταγλωττιστής μεταφράζει συχνά τις εντολές προέλευσης σε μια ακολουθία οδηγιών που δεν είναι αρκετά εγγενής κώδικας μηχανής, αλλά μπορούν να επεξεργαστούν περαιτέρω, να βελτιστοποιηθούν ή να συγκεντρωθούν από τον μεταγλωττιστή ή άλλοεργαλεία λογισμικού.Τα αρχεία που παράγονται περιέχουν οδηγίες που λέγεται ότι βρίσκονται σε ενδιάμεση γλώσσα, επειδή η γλώσσα που χρησιμοποιείται από τον μεταγλωττιστή δεν έχει νόημα για το μεγαλύτερο λειτουργικό σύστημα ούτε τη γλώσσα που χρησιμοποιείται από τον προγραμματιστή για να γράψει τον κώδικα στην πρώτη θέση, αλλά αντ 'αυτούείναι μια γλώσσα που λειτουργεί ως γέφυρα μεταξύ της γραφής και της εκτέλεσης του προγράμματος.Μια ενδιάμεση γλώσσα μερικές φορές χρησιμοποιείται για να επιτρέψει σε έναν μεταγλωττιστή να κάνει πολύ ακριβείς βελτιστοποιήσεις, ώστε το πρόγραμμα να λειτουργεί πιο αποτελεσματικά, αλλά μπορεί επίσης να χρησιμοποιηθεί για την παραγωγή αρχείων εξόδου που είναι φορητά μεταξύ διαφορετικών, ασυμβίβαστων συστημάτων.Η πραγματική σύνταξη της γλώσσας μπορεί να μοιάζει με κώδικα μηχανής ή άλλους τύπους μη ανθρώπινου αναγνώσιμου bytecode ή η γλώσσα μπορεί να είναι απλώς μια υπάρχουσα γλώσσα προγραμματισμού υπολογιστών cross-platform.ένα αρχείο πηγαίου κώδικα και σπάει την εντολή κάτω στην ενδιάμεση γλώσσα.Μια ενιαία εντολή προγραμματισμού που μπορεί να διαβάσει από τον άνθρωπο μπορεί να καταρρεύσει σε δεκάδες οδηγίες γλώσσας μηχανής, οπότε η ενδιάμεση γλώσσα δημιουργεί ένα επίπεδο αφαίρεσης που μπορεί να χρησιμοποιήσει ο μεταγλωττιστής για τον εντοπισμό περιοχών του κώδικα όπου οι βελτιστοποιήσεις μπορούν να γίνουν χωρίς πρώτα να χρειαστεί να δεσμεύσουν τον κώδικα ναΟποιεσδήποτε εγγενείς υλοποιήσεις ή βιβλιοθήκες.Μόλις ολοκληρωθεί, το αρχείο ενδιάμεσου κώδικα μπορεί στη συνέχεια να καταρτιστεί περαιτέρω για να δημιουργήσει ένα εγγενές δυαδικό αρχείο ή μπορεί να εκτελεστεί μέσω άλλου προγράμματος, γνωστός ως διερμηνέας, που θα εκτελέσει τον κώδικα, καταρτίζοντας τον σε εγγενείς οδηγίες όπως απαιτείται.Οι γλώσσες, όπως η Java reg, χρησιμοποιήστε μια ενδιάμεση γλώσσα για να δημιουργήσετε αρχεία που είναι βελτιστοποιημένα αλλά και φορητά σε άλλα συστήματα υπολογιστών.Αυτός ο τύπος κώδικα μερικές φορές είναι γνωστός ως bytecode και μοιάζει με κωδικό μηχανής ή γλώσσα συναρμολόγησης.Το bytecode αποθηκεύεται σε αρχεία με τρόπο που να είναι ανεξάρτητος από την πλατφόρμα, πράγμα που σημαίνει ότι μπορεί να μεταφερθεί σε οποιοδήποτε σύστημα υπολογιστή ή συσκευή που μπορεί να εκτελέσει έναν διερμηνέα.Μόλις ο bytecode βρίσκεται σε ένα σύστημα, μπορεί είτε να εκτελεστεί ως ερμηνευμένο πρόγραμμα είτε μπορεί να καταρτιστεί για να τρέξει εγγενώς στο σύστημα προορισμού.

Σε ορισμένες περιπτώσεις, μια γλώσσα υπολογιστή έχει σχεδιαστεί για να διευκολύνει την προγραμματισμό προς ένα συγκεκριμένοΤέλος, όπως μια διαδραστική εφαρμογή ιστού, αλλά οι σχεδιαστές δεν θέλουν να συμπεριλάβουν προσαρμοσμένους μεταγλωττιστές, διερμηνείς ή plug-ins για διαφορετικά συστήματα.Σε αυτές τις περιπτώσεις, η ενδιάμεση γλώσσα του μεταγλωττιστή μπορεί να είναι μια υπάρχουσα γλώσσα που έχει ήδη δημιουργήσει διερμηνείς μεταξύ των πλατφορμών.Η προκύπτουσα ενδιάμεση γλώσσα σε αυτή την περίπτωση είναι ανθρώπινη αναγνώσιμη.Ένα παράδειγμα μιας γλώσσας προγραμματισμού υπολογιστών που χρησιμοποιείται επίσης ως ενδιάμεση γλώσσα είναι η JavaScript