Πώς λειτουργεί ένας λεξικός αναλυτής;
Πώς λειτουργεί ένας λεξικός αναλυτής;

Βίντεο: Πώς λειτουργεί ένας λεξικός αναλυτής;

Βίντεο: Πώς λειτουργεί ένας λεξικός αναλυτής;
Βίντεο: Διαδικασία Δημιουργίας Λεξικού Αναλυτή 2024, Νοέμβριος
Anonim

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

Αντίστοιχα, τι κάνει ένας λεξικοαναλυτής;

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

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

Στη συνέχεια, το ερώτημα είναι, ποια είναι η έξοδος του λεξικού αναλυτή;

(Ι) Το παραγωγή του α λεξιλογικός αναλυτής είναι μάρκες. (II) Συνολικός αριθμός διακριτικών σε printf("i=%d, &i=%x", i, &i); είναι 10. (III) Ο πίνακας συμβόλων μπορεί να υλοποιηθεί χρησιμοποιώντας πίνακα, πίνακα κατακερματισμού, δέντρο και συνδεδεμένες λίστες.

Πώς λειτουργεί ένα Lexer;

ο lexer απλώς μετατρέπει τη συμβολοσειρά χωρίς νόημα σε μια επίπεδη λίστα πραγμάτων όπως "number literal", "string literal", "identifier" ή "operator" και μπορεί κάνω πράγματα όπως η αναγνώριση δεσμευμένων αναγνωριστικών ("λέξεις-κλειδιά") και η απόρριψη κενού διαστήματος. Επίσημα, α lexer αναγνωρίζει κάποιο σύνολο κανονικών γλωσσών.

Συνιστάται: