Εδώ είναι γιατί:
* Στόχος του μεταγλωττιστή: Οι μεταγλωττιστές έχουν σχεδιαστεί για να μεταφράζουν τον πηγαίο κώδικα σε κώδικα μηχανής (ή ενδιάμεσο κώδικα) για μια συγκεκριμένη πλατφόρμα. Δεν αποθηκεύουν επίμονα δεδομένα.
* Προσωρινές δομές δεδομένων: Ένας μεταγλωττιστής χρησιμοποιεί μια ποικιλία δομών δεδομένων όπως πίνακες συμβόλων, ενδιάμεση αναπαράσταση κώδικα και προσωρινές μεταβλητές για την επεξεργασία του πηγαίου κώδικα. Αυτά είναι όλα προσωρινά και υπάρχουν μόνο κατά τη διάρκεια της διαδικασίας συλλογής.
* Συστήματα βάσης δεδομένων: Οι βάσεις δεδομένων είναι εξειδικευμένα συστήματα για την αποθήκευση και ανάκτηση δεδομένων σε εκτεταμένες περιόδους. Είναι ξεχωριστά από τον μεταγλωττιστή και δεν εμπλέκονται άμεσα στη διαδικασία συλλογής.
Παράδειγμα:
Φανταστείτε ότι καταρτίζετε ένα πρόγραμμα C ++. Ο μεταγλωττιστής διαβάζει τον πηγαίο κώδικα σας, αναλύει, δημιουργεί ενδιάμεσο κώδικα και τελικά παράγει ένα εκτελέσιμο αρχείο. Όλες οι πληροφορίες που χρησιμοποιεί ο μεταγλωττιστής (όπως τα ονόματα μεταβλητών, οι τύποι, οι ορισμοί των λειτουργιών) αποθηκεύονται σε προσωρινές δομές δεδομένων μέσα στη μνήμη του μεταγλωττιστή. Μόλις ολοκληρωθεί η συλλογή, οι δομές αυτές απορρίπτονται.
Σημείωση: Ορισμένες προηγμένες τεχνικές βελτιστοποίησης του μεταγλωττιστή ενδέχεται να χρησιμοποιούν προσωρινά αρχεία ή βάσεις δεδομένων για την αποθήκευση ενδιάμεσων αποτελεσμάτων. Αυτό είναι συνήθως για τη βελτίωση της αποτελεσματικότητας και της απόδοσης, αλλά δεν αποτελεί θεμελιώδη απαίτηση για όλους τους μεταγλωττιστές.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα