Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει Parser;
Ο αναλυτής είναι ένα στοιχείο μεταγλωττιστή ή διερμηνέα που σπάει τα δεδομένα σε μικρότερα στοιχεία για εύκολη μετάφραση σε άλλη γλώσσα. Ένας αναλυτής παίρνει είσοδο με τη μορφή μιας ακολουθίας μαρκών ή οδηγιών προγράμματος και συνήθως χτίζει μια δομή δεδομένων με τη μορφή ενός δένδρου ανάλυσης ή μιας αφηρημένης δέντρο σύνταξης.
Η Techopedia εξηγεί τον Αναλυτή
Ένας αναλυτής χρησιμοποιείται συνήθως ως συστατικό ενός διερμηνέα ή ενός μεταγλωττιστή. Η συνολική διαδικασία ανάλυσης περιλαμβάνει τρία στάδια:
- Λεξική ανάλυση: Χρησιμοποιείται ένας λεξικοποιημένος αναλυτής για την παραγωγή μαρκών από μια ροή χαρακτήρων συμβολοσειρών εισόδου, οι οποίες σπάζουν σε μικρές συνιστώσες για να σχηματίσουν σημαντικές εκφράσεις.
- Συντακτική Ανάλυση: Ελέγχει αν τα δημιουργημένα μάρκες αποτελούν μια σημαντική έκφραση. Αυτό κάνει χρήση μιας ελεύθερης γραμμικής γραμματικής που ορίζει αλγοριθμικές διαδικασίες για τα συστατικά. Αυτές οι εργασίες δημιουργούν μια έκφραση και καθορίζουν τη συγκεκριμένη σειρά με την οποία πρέπει να τοποθετηθούν οι μάρκες.
- Σημασιολογική ανάλυση: Το τελικό στάδιο εξέτασης στο οποίο καθορίζεται η σημασία και οι συνέπειες της επικυρωμένης έκφρασης και λαμβάνονται οι απαραίτητες ενέργειες.
Ο βασικός σκοπός του αναλυτή είναι να προσδιορίσει εάν τα δεδομένα εισόδου μπορούν να προέρχονται από το σύμβολο έναρξης της γραμματικής. Εάν ναι, τότε με ποιο τρόπο μπορούν να αντληθούν αυτά τα δεδομένα εισόδου; Αυτό επιτυγχάνεται ως εξής:
- Ανάλυση κορυφής προς τα κάτω: Περιλαμβάνει την αναζήτηση μιας δέντρο ανάλυσης για να βρει τις πιο πολλές παραγωγοί μιας ροής εισόδου χρησιμοποιώντας μια επέκταση από πάνω προς τα κάτω. Παραδείγματα περιλαμβάνουν τους επεξεργαστές LL και τους αναλυτές αναδρομικής καθόδου.
- Ανάλυση από κάτω προς τα πάνω: Περιλαμβάνει την επανεγγραφή της εισόδου πίσω στο σύμβολο έναρξης. Αυτός ο τύπος ανάλυσης είναι γνωστός και ως ανάλυση αναγωγής μείωσης. Ένα παράδειγμα είναι ένας αναλυτής LR.
Οι συσκευές γραφημάτων χρησιμοποιούνται ευρέως στις ακόλουθες τεχνολογίες:
- Java και άλλες γλώσσες προγραμματισμού
- HTML και XML
- Διαδραστική γλώσσα δεδομένων και γλώσσα ορισμού αντικειμένου
- Γλώσσες βάσης δεδομένων, όπως SQL
- Μοντελοποίηση γλωσσών, όπως γλώσσα μοντελοποίησης εικονικής πραγματικότητας
- Γλώσσες δέσμης ενεργειών
- Πρωτόκολλα, όπως τηλεφωνικές κλήσεις HTTP και Internet
