Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Σαρωτές

Γιατί ένας σαρωτής πρέπει να αποθηκεύσει το κείμενο των μαρκών;

Ένας σαρωτής (επίσης γνωστός ως λεξικός αναλυτής) σε έναν μεταγλωττιστή ή διερμηνέα πρέπει να αποθηκεύσει το κείμενο των μαρκών για αρκετούς κρίσιμους λόγους:

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

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

3. Δημιουργία κώδικα: Σε ορισμένες περιπτώσεις, το κείμενο του διακριτικού μπορεί να ενσωματωθεί απευθείας στον παραγόμενο κώδικα (π.χ. Literals String). Ο σαρωτής πρέπει να παρέχει τα δεδομένα RAW String σε μεταγενέστερα στάδια της συλλογής.

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

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

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

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

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