Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Σχετικά έγγραφα
Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Κεφάλαιο 2: Τυπικές γλώσσες

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216

Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Θέματα Μεταγλωττιστών

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

CSC 314: Switching Theory

ΜΑΘΗΜΑ: Μεταγλωττιστές

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Απάντηση: (func endfunc)-([a-za-z])+

Θεωρία Υπολογισμού και Πολυπλοκότητα

Γλώσσες Χωρίς Συμφραζόμενα

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 5 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αυτόματα και Υπολογιστικά Μοντέλα Automata and Models of Computation

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Θεωρία Υπολογισμού και Πολυπλοκότητα

Κατηγορικές Γραµµατικές

Σειρά Προβλημάτων 4 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)

Ασκήσεις από παλιές εξετάσεις

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

ΑΛΕΞΑΝΔΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Πτυχιακή εργασία ΑΣΤΡΟΠΕΚΑΚΗ ΔΕΣΠΟΙΝΑ

Θεωρία Υπολογισμού και Πολυπλοκότητα

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Μεταγλωττιστές. Ενότητα 5: Λεκτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση II

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Θεωρία Υπολογισμού και Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 10: Αυτόματα Στοίβας II

Σειρά Προβλημάτων 4 Λύσεις

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Μοντελοποίηση υπολογισμού. Θέματα Υπολογισμού στον Πολιτισμό Πεπερασμένα αυτόματα

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Συντακτική Ανάλυση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

Σειρά Προβλημάτων 4 Λύσεις

Μεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII. Εαρινό Εξάμηνο Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

HEAD INPUT. q0 q1 CONTROL UNIT

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Σειρά Προβλημάτων 4 Λύσεις

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Σειρά Προβλημάτων 1 Λύσεις

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 3: Ντετερμινιστικά Πεπερασμένα Αυτόματα (DFA)

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Θεωρία Υπολογισμού και Πολυπλοκότητα

Σειρά Προβλημάτων 3 Λύσεις

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 4 Λύσεις

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Μεταγλωττιστές. μια φοιτητική προσέγγιση

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.

aab aabb aaabb aaaabb aaaabb aaaabb

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

Ισοδυναμία Αιτ. Και μη Αιτ. Π.Α.

Transcript:

Γιώργος Δημητρίου Μάθημα 2 ο

Αλφάβητα και Γλώσσες Αλφάβητο: Ένα μη κενό και πεπερασμένο σύνολο συμβόλων Γλώσσα: Ένα οποιοδήποτε υποσύνολο των συμβολοσειρών ενός αλφαβήτου (οι προτάσεις της γλώσσας, πχ. προγράμματα) Πεπερασμένη ή μη πεπερασμένη Ποιες προτάσεις ανήκουν σε μια γλώσσα; Υπολογίσιμες γλώσσες

Παραδείγματα Αλφάβητο: { 0, 1 } Γλώσσα: { 1, 110, 01 } Αλφάβητο: { 0, 1 } Γλώσσα: {0 n 1 n, n>0} Αλφάβητο: λεκτικές μονάδες C Γλώσσα: προγράμματα C Αλφάβητο: ελληνικές λέξεις Γλώσσα: φυσική ελληνική

Βασικές Έννοιες Η κενή συμβολοσειρά: Η κενή γλώσσα: Παράθεση γλωσσών: LM = { xy x L και y M } L = L =, L{ } = { }L = L L n+1 = LL n, L 0 = { } Ένωση γλωσσών: L M = { x x L ή x M } L = L = L

Κλείσιμο Kleene Κλείσιμο Kleene: L * = L 0 L 1 L 2 L * Θετικό κλείσιμο Kleene: L + = LL * = L 1 L 2 L + μόνο αν L

Γραμματικές G = ( V N, V T, P, S ) Μη τερματικά σύμβολα V N Τερματικά σύμβολα V T, V T V N = Συντακτικοί κανόνες P: όπου V +, V *, V = V T V N Αρχικό σύμβολο S V N

Παράδειγμα V N = {S, A, B} V T = { 0, 1 } P = { } S 0A 1B A A0BA B1BA 1B 01BA 1 0B 1A 0

Ιεραρχία Γραμματικών (Chomsky) Τύπου 0: Ελεύθερες γραμματικές, όπου V +, V * Τύπου 1: Γραμματικές με συμφραζόμενα Α, όπου, V *, A V N, V + Τύπου 2: Γραμματικές χωρίς συμφραζόμενα Α, όπου A V N, V * Τύπου 3: Κανονικές γραμματικές A b, όπου A V N, b V T { } A bc, όπου A,C V N, b V T

Διαδικασία Παραγωγής Ξεκινώντας με τη συμβολοσειρά που περιέχει μόνο το αρχικό σύμβολο της γραμματικής, Παράγουμε διαδοχικά νέες συμβολοσειρές: Αντικαθιστάμε μια υποσυμβολοσειρά της τρέχουσας συμβολοσειράς με μια άλλη, εάν υπάρχει συντακτικός κανόνας, συμβολικά: αν η τρέχουσα συμβολοσειρά έχει τη μορφή x y, όπου x,y V *, τότε γράφουμε x y x y Μέχρι η τρέχουσα συμβολοσειρά να αποτελείται μόνο από τερματικά σύμβολα.

Γραμματικές και Γλώσσες Γλώσσα μιας γραμματικής: Η γλώσσα που παράγεται από τη γραμματική Ισοδύναμες γραμματικές: Αυτές που παράγουν την ίδια γλώσσα Τυπικές γλώσσες: Οι γλώσσες που μπορούν να παραχθούν από γραμματικές Τύποι γλωσσών: Οι τύποι της γραμματικής που τις παράγουν

Συντακτική Ανάλυση Δεδομένης μιας γραμματικής: 1. Να αποφανθούμε εάν μια πρόταση που αποτελείται από τερματικά σύμβολα της γραμματικής ανήκει στη γλώσσα που περιγράφει η γραμματική 2. Αν ναι, να βρούμε μια παραγωγή της γραμματικής που δίνει αυτή την πρόταση

Εργαλεία Συντακτικής Ανάλυσης Θεωρητικά μοντέλα αφηρημένων μηχανών για την επίλυση προβλημάτων σαν αποδοχή των προτάσεων μιας γραμματικής (μηχανές Turing αυτόματα) Εφαρμόζονται στους μεταγλωττιστές για τα προβλήματα της λεκτικής και της συντακτικής ανάλυσης Διάφορα είδη αυτομάτων για τους διαφορετικούς τύπους γραμματικών

Κανονικές Γραμματικές (ΚΓ) Οι λιγότερο ισχυρές γραμματικές Οι γλώσσες τους αναγνωρίζονται από τα πεπερασμένα αυτόματα Μικρότερη πολυπλοκότητα συντακτικής ανάλυσης Εφαρμογή στη λεκτική ανάλυση των μεταγλωττιστών

Κανονικές Εκφράσεις (ΚΕ) Κάθε ΚΕ r πάνω σε ένα αλφάβητο Σ περιγράφει μια κανονική γλώσσα L(r) του Σ: L( ) = { } L(a) = {a}, a Σ L(rs) = L(r)L(s) L(r s) = L(r) L(s) L(r * ) = (L(r)) *, L(r + ) = (L(r)) + Άλλοι συμβολισμοί, όπως a? [01a-z]

Πεπερασμένα Αυτόματα (ΠΑ) Μ = (Κ, Σ, δ, S, F) Πεπερασμένο σύνολο καταστάσεων Κ Αλφάβητο εισόδου Σ Συνάρτηση μετάβασης καταστάσεων δ δ(χ,y) = Z, όπου X,Z Κ, y Σ Ντετερμινιστικά / Μη ντετερμινιστικά ΠΑ Αρχική κατάσταση S Κ Σύνολο τελικών καταστάσεων F K

Παράσταση ΠΑ αρχή 1 0 1 Α Β 1 Διάγραμμα 0 1 A A,B T B B B Αποδοχή Πίνακας Το αυτόματο που αναγνωρίζει τη γλώσσα με συμβολοσειρές τουλάχιστον ενός 1, ακολουθούμενου από 0 ή περισσότερα 0 ή 1.

Λειτουργία ΝΠΑ Η κίνηση του ΝΠΑ περιγράφεται ως εξής: 1. Διάβασε το επόμενο σύμβολο από την είσοδο και προχώρησε το δείκτη εισόδου κατά μία θέση 2. Πήγαινε στην επόμενη κατάσταση με βάση την παρούσα κατάσταση και το σύμβολο που διάβασες

Λειτουργία ΜΠΑ και ΜΠΑ-ε Στα ΜΠΑ επιλέγεις μία από τις πιθανά πολλαπλές δυνατές κινήσεις που ορίζονται από τη συνάρτηση μετάβασης Στα ΜΠΑ-ε μπορείς σε κάποιες περιπτώσεις να κινηθείς χωρίς ανάγνωση συμβόλου από την είσοδο (αυθόρμητη μετάβαση στην επόμενη κατάσταση)

Αναγνώριση ή Απόρριψη Αν ολοκλήρωσες την ανάγνωση της εισόδου και βρίσκεσαι σε τελική κατάσταση, αναγνωρίζεις τη συμβολοσειρά, αλλιώς την απορρίπτεις Στα ΜΠΑ, καθώς και στα ΜΠΑ-, εξαντλείς όλες τις δυνατές επιλογές κίνησης, πριν απορρίψεις τη συμβολοσειρά

Μετατροπή ΜΠΑ σε ΝΠΑ Κατασκευή υποσυνόλων: Το σύνολο καταστάσεων του ΝΠΑ περιέχει υποσύνολα του συνόλου καταστάσεων του ΜΠΑ Κάθε μετάβαση πρέπει να γίνεται σε μια το πολύ κατάσταση Απαιτούνται μέχρι 2 n καταστάσεις του ΝΠΑ για n καταστάσεις του ΜΠΑ.

Αριθμός Καταστάσεων ΠΑ Σε ένα ΠΑ μπορεί να έχουμε: απρόσιτες καταστάσεις ισοδύναμες καταστάσεις Αφαιρώντας τις απρόσιτες και συμπτύσσοντας τις ισοδύναμες καταστάσεις βρίσκουμε ένα ισοδύναμο ΠΑ με ελάχιστο αριθμό καταστάσεων

Γραμματικές χωρίς Συμφραζόμενα (ΓΧΣ) Πιο ισχυρές από τις ΚΓ Οι γλώσσες τους αναγνωρίζονται από τα αυτόματα στοίβας Μεγαλύτερη πολυπλοκότητα συντακτικής α- νάλυσης Εφαρμογή στη συντακτική ανάλυση των μεταγλωττιστών

Αριστερότερη/Δεξιότερη Παραγωγή Αν κατά τη διαδικασία παραγωγής από μια ΓΧΣ αντικαθιστούμε το αριστερότερο μη τερματικό σύμβολο, παίρνουμε μια αριστερότερη παραγωγή Παράδειγμα από γραμματική 1 ου μαθήματος: assignment ID paren = expression L ID = expression ID = term ID = ID paren ID = ID Αντίστοιχα για δεξιότερη παραγωγή

Δέντρο Συντακτικής Ανάλυσης (ΔΣΑ) Απεικόνιση της διαδικασίας παραγωγής Ρίζα: το αρχικό σύμβολο Φύλλα: μόνο τερματικά σύμβολα Παράδειγμα από γραμματική 1 ου μαθήματος: assignment ID paren = expression ε expression ADDOP term term ID paren ID paren ε ε

Διφορούμενες Γραμματικές Μια ΓΧΣ ονομάζεται διφορούμενη, όταν υ- πάρχει πρότασή της που έχει περισσότερα από ένα ΔΣΑ, ή ισοδύναμα που παράγεται με περισσότερες από μία αριστερότερες (ή περισσότερες από μία δεξιότερες) παραγωγές Μια ΓΧΣ ονομάζεται εγγενώς διφορούμενη όταν δεν υπάρχει ισοδύναμή της μη διφορούμενη γραμματική

Παράδειγμα: Ξεκρέμαστο else Διφορούμενη γραμματική: stmt IF cond stmt ELSE stmt IF cond stmt S1 S2 cond C1 C2 Ισοδύναμη μη διφορούμενη γραμματική: stmt matched unmatched matched IF cond matched ELSE matched S1 S2 unmatched IF cond stmt IF cond matched ELSE unmatched cond C1 C2 Συμβολοσειρά: IF C1 IF C2 S1 ELSE S2

Παράδειγμα: Αριθμητικές Εκφράσεις Διφορούμενη γραμματική: expr expr + expr expr - expr expr * expr expr / expr ID CONST ( expr ) Ισοδύναμη μη διφορούμενη γραμματική: expr expr + term expr - term term term term * factor term / factor factor factor ID CONST ( expr ) Συμβολοσειρά: ID + ID - CONST / ID * ID

Αυτόματα Στοίβας (ΑΣ) Μ = (Κ, Σ, Γ, δ, q 0, Z 0, F) Πεπερασμένο σύνολο καταστάσεων Κ Αλφάβητο εισόδου Σ Αλφάβητο στοίβας Γ Συνάρτηση μετάβασης καταστάσεων δ δ(q,x,α) = (p, ) q,p Κ, X Γ, α Σ { }, Γ * Ντετερμινιστικά / Μη ντετερμινιστικά ΑΣ Αρχική κατάσταση q 0 Κ Αρχικό σύμβολο στοίβας Ζ 0 Γ Σύνολο τελικών καταστάσεων F K

Παράσταση ΑΣ αρχή (,Χ/ΧΙ (,Ι/ΙΙ ),Ι/ε S ε,χ/ε Διάγραμμα Το αυτόματο που αναγνωρίζει ζευγάρια παρενθέσεων που ταιριάζουν: Δύο καταστάσεις: S και T Δύο σύμβολα στοίβας: Χ (αρχικό) και I T S T X ( S, XI ε T,ε I ( S, II ) S,ε Πίνακας T Αποδοχή

Λειτουργία ΑΣ Η κίνηση του ΑΣ περιγράφεται ως εξής: 1. Αν α, διάβασε το επόμενο σύμβολο από την είσοδο και προχώρησε το δείκτη εισόδου κατά μία θέση 2. Αντικατάστησε το Χ στην κορυφή της στοίβας με τα σύμβολα του 3. Πήγαινε στην επόμενη κατάσταση με βάση την παρούσα κατάσταση και τα σύμβολα Χ,α

Τερματισμός Λειτουργίας ΑΣ Η συμβολοσειρά εισόδου αναγνωρίζεται αναλογα με την υλοποίηση σε μία από τις ακόλουθες περιπτώσεις: Όταν η συμβολοσειρά έχει ολοκληρωθεί (με το χαρακτήρα τερματισμού $) και το αυτόματο βρίσκεται σε τελική κατάσταση Όταν η συμβολοσειρά έχει ολοκληρωθεί (με το χαρακτήρα τερματισμού $) και η στοίβα είναι άδεια ή περιέχει το αρχικό σύμβολο Σε άλλες περιπτώσεις απορρίπτεται

Ισοδυναμία Αναπαραστάσεων Οι ΚΓ, οι ΚΕ και τα ΠΑ είναι ισοδύναμες αναπαραστάσεις μιας κανονικής γλώσσας, και η ισοδυναμία αυτή μπορεί να αποδειχτεί με αναγωγή από τη μια αναπαράσταση στην άλλη Υπάρχει αντίστοιχη ισοδυναμία μεταξύ ΓΧΣ και ΑΣ