Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω

Πίνακας περιεχομένων:

Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω

Βίντεο: Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω

Βίντεο: Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω
Βίντεο: Γιώργος Σαμπάνης - Μόνο Με Σένα | Official Music Video 2024, Δεκέμβριος
Anonim

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

Γλώσσες υψηλού επιπέδου βοηθούν στη σύνταξη προγραμμάτων υπολογιστών. Είναι πιο εύκολα κατανοητά από τον προγραμματιστή αλλά όχι από τον υπολογιστή. Επομένως, το πρόγραμμα υψηλού επιπέδου μετατρέπεται σε κώδικα μηχανής. Το καθήκον του μεταγλωττιστή είναι να μετατρέψει τον αναγνώσιμο από τον άνθρωπο πηγαίο κώδικα σε αναγνώσιμο από μηχανή κώδικα μηχανής. Ένα πρόγραμμα περνά από πολλά βήματα για να μετατραπεί σε κώδικα μηχανής. Όλη αυτή η διαδικασία ονομάζεται Σύστημα Επεξεργασίας Γλωσσών. Ένα από αυτά είναι η συλλογή. Ο αναλυτής σύνταξης ή ο αναλυτής βρίσκεται στον μεταγλωττιστή και εκτελεί την εργασία ανάλυσης.

Τι είναι το Top Down Parsing;

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

Στην ανάλυση από πάνω προς τα κάτω, η ανάλυση γίνεται από το σύμβολο έναρξης και θα φτάσει στη δεδομένη συμβολοσειρά εισόδου. Εξετάστε τους ακόλουθους κανόνες γραμματικής παραγωγής. Η συμβολοσειρά εισόδου (w) είναι cad.

S -> cAd

A -> ab /a

Το δέντρο ανάλυσης μετά την εκτέλεση της ανάλυσης από πάνω προς τα κάτω είναι το εξής.

Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω

Εικόνα 01: Ανάλυση δέντρου 1 με ανάλυση από πάνω προς τα κάτω

Το S παράγει c A d και το A παράγει a b. Η χορδή είναι cabd. Δεν είναι η απαιτούμενη συμβολοσειρά. Επομένως, είναι απαραίτητο να κάνετε backtracking, δηλαδή να χρησιμοποιήσετε τις άλλες εναλλακτικές λύσεις.

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

Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 2
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 2
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 2
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 2

Εικόνα 02: Ανάλυση δέντρου 2 με ανάλυση από πάνω προς τα κάτω

Όταν η συμβολοσειρά εισόδου (w) είναι abbcde

Λάβετε υπόψη τους ακόλουθους κανόνες παραγωγής γραμματικής.

S -> aABe

A -> Abc/b

B -> d

Ανάλυση από πάνω προς τα κάτω, S -> aABe (Αντικατάσταση A -> Abc)

S -> aAbcBe (Αντικατάσταση A -> β)

S -> abbcBe (Αντικατάσταση B ->d)

S -> abbcde

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

Τι είναι η ανάλυση από κάτω προς τα πάνω;

Η ανάλυση από κάτω προς τα πάνω γίνεται με τον άλλο τρόπο. Η ανάλυση γίνεται από τη συμβολοσειρά εισόδου στο σύμβολο έναρξης. Εξετάστε τους ακόλουθους κανόνες παραγωγής γραμματικής και αφήστε τη συμβολοσειρά εισόδου να είναι w ɛ cad

S -> cAd

A -> ab /a

Το δέντρο ανάλυσης μετά την εκτέλεση ανάλυσης από κάτω προς τα πάνω είναι το εξής.

Βασική διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 03
Βασική διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 03
Βασική διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 03
Βασική διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω_Εικ 03

Εικόνα 03: Ανάλυση δέντρου με ανάλυση από κάτω προς τα πάνω

Η συμβολοσειρά που δίνεται είναι cad. Το a δημιουργείται από το A. Τα c, A και d συνδυάζονται για να πάρουν το αρχικό σύμβολο S.

Όταν η συμβολοσειρά εισόδου(w) είναι abbcde

Λάβετε υπόψη τους ακόλουθους κανόνες παραγωγής γραμματικής.

S -> aABe

A -> Abc/b

B -> d

Σε ανάλυση από κάτω προς τα πάνω, S -> aABe (Αντικατάσταση B ->d)

S -> aAde (Αντικατάσταση A -> Abc)

S -> aAbcde (Υποκατάσταση A -> β)

S -> abbcde

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

Ποια είναι η διαφορά μεταξύ της ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω;

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

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

Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω σε μορφή πίνακα
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω σε μορφή πίνακα
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω σε μορφή πίνακα
Διαφορά μεταξύ ανάλυσης από πάνω προς τα κάτω και από κάτω προς τα πάνω σε μορφή πίνακα

Σύνοψη – Από πάνω προς τα κάτω vs Ανάλυση από κάτω προς τα πάνω

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

Συνιστάται: