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



Σχετικά έγγραφα
Σειρά Προβλημάτων 1 Λύσεις

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

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

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

Πεπερασμένα Αυτόματα. Πεπερασμένα Αυτόματα. Ορισμός. Παράδειγμα

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

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

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

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

ΕΞΙΣΩΣΗ ΣΦΑΙΡΑΣ. είναι όλοι ίσοι και επιπλέον δεν υπάρχουν οι όροι xy, yz, zx. Γενικά µια εξίσωση της µορφής: 0 + Β + Α.

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

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

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

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

4.1 ΕΥΘΕΙΕΣ ΚΑΙ ΕΠΙΠΕ Α ΣΤΟ ΧΩΡΟ

Περίληψη Προηγούμενου Μαθήματος Κανάλια επικοινωνίας με θόρυβο και η χωρητικότητά τους

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

Αριθµητική Ανάλυση & Προγραµµατισµός Ε ιστηµονικών Εφαρµογών

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

Στοιχεία από τη Γεωμετρία του χώρου (αναλυτικά στο βιβλίο: Ευκλείδεια Γεωμετρία Α και Β Ενιαίου Λυκείου)

CSC 314: Switching Theory

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

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

HEAD INPUT. q0 q1 CONTROL UNIT

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

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

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

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

και ( n) 1 R. Αν ε > 0, επιλέγουµε για κάθε k 1 ένα καλύπτουµε τότε την ευθεία Α µε την ακολουθία των ορθογωνίων .

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

ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ Α ΒΑΘΜΟΥ

ΛΥΣΕΙΣ ΦΥΛΛΑΔΙΟΥ 3 Ευθεία - Επίπεδο ΣΧΟΛΗ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ/

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

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

Μπορείτε να δείξετε ότι αυξανομένης της θερμοκρασίας το κλάσμα των μορίων του συστήματος που βρίσκεται στην βασική ενεργειακή κατάσταση θα μειώνεται;

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

ΕΛΑΣΤΙΚΟΤΗΤΑ. ε = = Η ελαστικότητα ζήτησης

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

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

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

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ

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

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

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

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

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

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

q 0 q 0.2 q 0.1 q 0.05 q 0.05 q 0.25 q 0.15 q 0.1 q 0.2 q 0.25 q 0.25 q 0.25

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

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

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

ΚΕΦΑΛΑΙΟ 2ο Διαφορικός Λογισμός (Νο 6) ΕΠΙΜΕΛΕΙΑ : Π. Δ. ΤΡΙΜΗΣ ΜΑΘΗΜΑΤΙΚΟΣ

Η θεωρία στην ευθεία σε ερωτήσεις - απαντήσεις

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

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

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

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

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

Μάθηµα 18 ο, 19 Νοεµβρίου 2008 (9:00-10:00).

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

ΛΥΣΕΙΣ ΦΥΛΛΑΔΙΟΥ 6 / ΠΟΛΙΤΙΚΟΙ ΜΗΧΑΝΙΚΟΙ Γραμμικές απεικονίσεις, Αλλαγή βάσης, Ιδιοτιμές, Ιδιοδιανύσματα

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

Περιεχόμενα. Εισαγωγή του επιμελητή, Γιάννης Σταματίου 15 Πρόλογος 17 Εισαγωγή 23. Μέρος I. ΕΠΑΝΑΛΗΠΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΑΝΑΛΛΟΙΩΤΕΣ ΣΥΝΘΗΚΕΣ

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

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

Λύσεις σετ ασκήσεων #6

4.1 Η ΕΝΝΟΙΑ ΤΗΣ ΣΥΝΑΡΤΗΣΗΣ

Γωνία που σχηματίζει η ε με τον άξονα. Έστω Oxy ένα σύστημα συντεταγμένων στο επίπεδο και ε μια ευθεία που τέμνει τον άξονα

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

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

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

2 Η ΕΥΘΕΙΑ ΣΤΟ ΕΠΙΠΕΔΟ. Εισαγωγή

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

ΣΗΜΕΙΩΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ Μέρος Δ. Καθ. Π. Κάπρος ΕΜΠ 2012

T.E.I. ΣΤΕΡΕΑΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΕ

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

Άσκησηη 1. (α) Το αυτόματο. (γ) Να δείξετε όλα aabbb. Λύση. λέξεις. αυτόματο. (β) Τυπικά. μεταβάσεων δ. ορίζεται. (γ) Θα δείξουμε τα.

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

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ Α ΓΥΜΝΑΣΙΟΥ ΜΕΡΟΣ 2ο ΓΕΩΜΕΤΡΙΑ ΑΣΚΗΣΕΙΣ ΛΥΜΕΝΕΣ 1 ΕΠΙΜΕΛΕΙΑ : ΑΥΓΕΡΙΝΟΣ ΒΑΣΙΛΗΣ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

Ανοικτά και κλειστά σύνολα

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

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

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

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ

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

d k 10 k + d k 1 10 k d d = k i=0 d i 10 i.

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

Νόμος του Gauss 1. Ηλεκτρική Ροή ( πλήθος δυναμικών γραμμών). είναι διάνυσμα μέτρου Α και κατεύθυνσης κάθετης στην επιφάνεια. Στην γενική περίπτωση:

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

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

Σχεδίαση µε τη χρήση Η/Υ

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

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

Φροντιστήριο 7 Λύσεις

Μηχανές Turing (T.M) I

Transcript:

Γλώσσς Προγραμματισμού Μταγλωττιστές Λκτική Ανάλυση II Πανπιστήμιο Μακδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακλλαρίου

Δομή Ππρασμένα Αυτόματα Νττρμινιστικά Ππρασμένα Αυτόματα Μη-Νττρμινιστικά Ππρασμένα Αυτόματα Μη-Νττρμινιστικά Ππρασμένα Αυτόματα μ Μηδνικές Μταβάσις Αναγωγές Αυτομάτων και Γραμματικών. Υλοποίηση Λκτικών Αναλυτών Προβλήματα Προσομοίωση ΠΑ Διαγράμματα Μτάβασης Σφάλματα

Ππρασμένα Αυτόματα Αφηρημένς μηχανές που μπορούν να χρησιμοποιηθούν σαν αναγνωριστές σ κανονικές γλώσσς. Νττρμινιστικά Ππρασμένα Αυτόματα (ΝΠΑ) Μη-Νττρμινιστικά Ππρασμένα Αυτόματα (ΜΠΑ) Μη-Νττρμινιστικά Ππρασμένα Αυτόματα μ μηδνικές Μταβάσις (ΜΠΑ-) Όλα τα παραπάνω ίναι ισοδύναμα από πλυράς υπολογιστικής ικανότητας.

Νττρμινιστικά Ππρασμένα Αυτόματα Αποτλούνται από Ππρασμένο σύνολο καταστάσων Q Σύνολο συμβόλων ισόδου (αλφάβητο) Σ Συνάρτηση μτάβασης δ η οποία ορίζι για κάθ κατάσταση q i και σύμβολο Σ μια νέα κατάσταση q j Q Αρχική κατάσταση q 0 Τλικές καταστάσις F Q

Λιτουργία του ΝΠΑ Αρχικά το αυτόματο "βρίσκται" στην αρχική κατάσταση. Το αυτόματο δέχται σύμβολα από την συμβολοσιρά ισόδου και ανάλογα μ το σύμβολο μταβαίνι στην κατάσταση που ορίζται από την συνάρτηση μτάβασης. Αφού "καταναλωθί" η συμβολοσιρά αν το αυτόματο βρίσκται σ μια από τις τλικές καταστάσις τότ αναγνωρίζι τη συμβολοσιρά. Διαφορτικά τη απορρίπτι.

Παράδιγμα Αλφάβητο Σ = {,} Καταστάσις Q = {0,1,2,3} Συνάρτηση Μτάβασης δ(0,)=1 δ(1,)=1 δ(2,)=2 δ(3,)=2 δ(0,)=2 δ(1,)=3 δ(2,)=2 δ(3,)=3 Τλικές Καταστάσις F = {3}

Διαγραμματική Αναπαράσταση (Γράφος Μτάβασης) 0 1 3 2

Διαγραμματική Αναπαράσταση (Γράφος Μτάβασης) 'Αλλς Συμβολοσιρές που αναγνωρίζι;, Κανονική Έκφραση ++ ** 0 1 3 2

Αυστηρός Ορισμός της Λιτουργίας του ΝΠΑ Συνάρτηση δ*(q,σ), όπου σ μια συμβολοσιρά. δ*(q,)=q δ*(q,σ')= δ(δ*(q,σ'),)

Κατάσταση Παγίδυσης Κατάσταση στην οποία καμιά συμβολοσιρά δν οδηγί σ τλική κατάσταση. 0 1 3 2

Αναγνώριση μιας Συμβολοσιράς από ένα ΝΠΑ Έτσι για παράδιγμα η συμβολοσιρά "then" μπορί να αναγνωριστί από το αυτόματο: t h e n

Μη-Νττρμινιστικά Ππρασμένα Αυτόματα Είναι δυνατό από μια κατάσταση να υπάρχουν πρισσότρς από μια μταβάσις για το ίδιο σύμβολο ισόδου. Σ ποια κατάσταση θα βρθί το αυτόματο; Μη-Νττρμινισμός! δ(0,) = {0,1} 0 1

Μη-Νττρμινιστικά Ππρασμένα Αυτόματα Αποτλούνται από: Ππρασμένο σύνολο καταστάσων Q Σύνολο συμβόλων ισόδου (αλφάβητο) Σ Συνάρτηση μτάβασης δ η οποία ορίζι για κάθ κατάσταση q i και σύμβολο Σ ένα σύνολο καταστάσων Q j P(Q). Αρχική κατάσταση q 0 Τλικές καταστάσις F Q Στην πρίπτωση αυτή το αυτόματο αναγνωρίζι τη συμβολοσιρά αν υπάρχι τουλάχιστον ένα μονοπάτι κτέλσης που να οδηγί σ μια τλική κατάσταση.

Παράδιγμα ΜΠΑ (i) Τι αναγνωρίζι το ακόλουθο αυτόματο; 0 1 2 3

Παράδιγμα ΜΠΑ (ii) Κανονική Έκφραση ( )* 0 1 2 3

Αυστηρός Ορισμός της Λιτουργίας του ΜΠΑ Συνάρτηση δ*(q,σ), όπου σ μια συμβολοσιρά. Ορίζται η συνάρτηση δ για σύνολα καταστάσων: δ (R,) = q R δ(q,) Η λιτουργία του αυτομάτου ορίζται ως δ*(q,)={q} δ*(q,σ')=δ (δ*(q,σ'),)

Μη-Νττρμινιστικά ΠΑ μ Μηδνικές Μταβάσις Μη-νττρμινιστικά αυτόματα μ "αυθόρμητς" μταβάσις Κνή συμβολοσιρά μέρος του αλφάβητου που δέχται το αυτόματο. "Αυθόρμητη μτάβαση": Μτάβαση σ μια κατάσταση μ βάση την κνή συμβολοσιρά [δ(q,)] 0 1 2

Μη-Νττρμινιστικά ΠΑ μ Μηδνικές Μταβάσις Αποτλούνται από: Ππρασμένο σύνολο καταστάσων Q Σύνολο συμβόλων ισόδου (αλφάβητο) Σ Συνάρτηση μτάβασης δ η οποία ορίζι για κάθ κατάσταση q i και σύμβολο Σ {} ένα σύνολο καταστάσων Q j P(Q). Αρχική κατάσταση q 0 Τλικές καταστάσις F Q Οι μταβάσις μπορούν να γίνουν μ 2 τρόπους: Σαν "κανονικό" ΜΠΑ Αυθόρμητα από μια μτάβαση που ορίζται από δ(q i,)

Παράδιγμα ΜΠΑ- ( )( )* 1 2 3 0 4 8 5 6 7

-Κλίσιμο Ορίζται ως -κλίσιμο(q i ) το σύνολο των καταστάσων οι οποίς ίναι προσβάσιμς από την κατάσταση q i μόνο μ -μταβάσις. Αναδρομικά ορίζται ως -κλίσιμο 0 (R) = R -κλίσιμο n+1 (R) = {δ(q,) q -κλίσιμο n (R)} -κλίσιμο(r) = {-κλίσιμο n (R)} όπου R ένα σύνολο καταστάσων του αυτομάτου.

Παράδιγμα -κλίσιμο(0) -κλίσιμο(0) = {1,5,7,4} 1 2 3 0 4 8 5 6 7

Αυστηρός Ορισμός της Λιτουργίας του ΜΠΑ- Συνάρτηση δ*(q,σ), όπου σ μια συμβολοσιρά. Δδομένου ότι η συνάρτηση δ ίναι: δ (R,) = q R δ(q,) Η λιτουργία του αυτομάτου ορίζται ως δ*(q,) = -κλίσιμο({q}) δ*(q,σ') = -κλισιμο(δ (δ*(q,σ'),))

Γλώσσς Προγραμματισμού Μταγλωττιστές Αναγωγές Ππρασμένων Αυτομάτων, Κανονικών Γραμματικών και Κανονικών Εκφράσων

Αναγωγές Είναι δυνατό να γίνουν οι ακόλουθς αναγωγές Από μια κανονική γραμματική σ ένα ΜΠΑ- Από ένα ΜΠΑ- σ κανονική γραμματική Από μια κανονική έκφραση σ ΜΠΑ- Από ΜΠΑ- σ κανονική έκφραση Ενδιαφέρον στην κατασκυή μταγλωττιστών έχουν οι αναγωγές σ ΜΠΑ- από κανονικές κφράσις και κανονικές γραμματικές.

Αναγωγή Κανονικής Γραμματικής σ ΜΠΑ- Έστω μια γραμματική G=(T,N,P,S). Το αντίστοιχο ΜΠΑ- (Σ,Q,δ,F) θα έχι: Σ = Τ, το αλφάβητο του ΜΠΑ- ίναι το αλφάβητο της γραμματικής Q = Ν {q f }, οι καταστάσις του ΜΠΑ- ίναι τα μητρματικά σύμβολα της γραμματικής, παυξημένα μ μια ακόμη κατάσταση που ίναι η τλική. Για κάθ κανόνα Α Β δ(α,)=b Α δ(α,)=q f A δ(α,)=q f F = {q f }, τλική κατάσταση του αυτομάτου.

Παράδιγμα Αναγωγής σ ΜΠΑ- Έστω η γραμματική Τ = {,} N = {I,S,U} P = {I S, S U U S S, S S U } S = I Ι S U q f

Αναγωγή ΚΕ σ ΜΠΑ- Η αναγωγή γίνται αναδρομικά μ κατάλληλη σύνθση των ΜΠΑ- που αντιστοιχούν σ υποκφράσις της αρχικής. Στα πόμνα το Μ(r) ίναι το ΜΠΑ- που αντιστοιχί στην έκφραση r.

Αναγωγές (i) Κνή συμβολοσιρά παράγται από το αυτόματο Μ(): q f Κανονική έκφραση που πριέχι ένα σύμβολο του αλφαβήτου, από το αυτόματο Μ(): t q f

Αναγωγές (ii) Συμβολοσιρά rs, όπου κάθ υποέκφραση παράγται από τα αυτόματα Μ(r) και Μ(s) αντίστοιχα, παράγται από το αυτόματο Μ(rs): M(r) M(s) t 1 q f1 t 2 q f2 M(r) M(s) t 1 t 2 q f2

Αναγωγές (iii) Συμβολοσιρά r s, όπου κάθ υποέκφραση παράγται από τα αυτόματα Μ(r) και Μ(s) αντίστοιχα, παράγται από το αυτόματο Μ(r s): M(r) t 1 q f1 t q f M(s) t 2 q f2

Αναγωγές (iv) Συμβολοσιρά r*, όπου κάθ υποέκφραση παράγται από τα αυτόματα Μ(r) και Μ(s) αντίστοιχα, παράγται από το αυτόματο Μ(r*): t M(r) t 1 q f1 q f

Παράδιγμα Αναγωγής ΚΕ σ ΜΠΑ- Κανονική Έκφραση α(α β)*β

Υλοποίηση ΝΠΑ; Πρόγραμμα το οποίο υλοποιί το ππρασμένο αυτόματο. s=s0; c = nextchr(); while (c!=eof){ s = move(s,c); c = nextchr();} if (s is in F) return "yes"; else return "no";

Μη-Νττρμινιστικά ΠΑ Υπάρχι πρόγραμμα που υλοποιί MΠΑ, όμως η πολυπλοκότητα του ίναι μγάλη. Άρα Μτατροπή των ΜΠΑ και ΜΠΑ- σ ΝΠΑ. Βασική ιδέα Εφόσον σ κάθ μτάβαση ένα ΜΠΑ μπορί να ίναι σ ένα σύνολο καταστάσων, το αντίστοιχο ΝΠΑ έχι σαν καταστάσις σύνολα καταστάσων του ΜΠΑ. Ομαδοποίηση καταστάσων ΜΠΑ σ μια νέα Κατάσταση.

Ορισμός Μτατροπής Έστω ΜΠΑ- και (Σ,Q,δ,q 0,F). Το αντίστοιχο ΝΠΑ (Σ',Q',δ',q' 0,F') έχι: Σ' = Σ Q' = P(Q), το δυναμοσύνολο των καταστάσων Q δ'(q',) = -κλίσιμο(δ (q',)), q' P(Q) q' 0 = -κλίσιμο(q 0 ) F' = {q' P(Q) q' F }

Βήματα Μτατροπής (i) Παραγωγή όλων των νέων καταστάσων P(Q). Δημιουργία της συνάρτησης μτάβασης, σύμφωνα μ την συνάρτηση δ. Αρχική κατάσταση ίναι το -κλίσιμο της αρχικής κατάστασης. Τλικές καταστάσις όλς κίνς που πριέχουν μια τλική κατάσταση του αρχικού ΜΠΑ.

Βήματα Μτατροπής (ii) Μπορί να γίνι η κατασκυή αυτόματα. Πρόβλημα: Πολλές μη-προσβάσιμς (απρόσιτς) καταστάσις, δηλαδή καταστάσις για τις οποίς δν υπάρχι συμβολοσιρά που να οδηγί το αυτόματα από την αρχική σ αυτή τη συμβολοσιρά. Διαγραφή από το αυτόματο. Απλός αλγόριθμος που πισκέπτται όλς τις προσιτές καταστάσις και διαγράφι τις υπόλοιπς.

Αλγόριθμος Μτατροπής (λιγότρς απρόσιτς καταστάσις) ΜΠΑ- (Σ,Q,δ,q 0,F) σ ΝΠΑ (Σ',Q',δ',q' 0,F'). q' 0 := e-closure({q 0 }) Q' := {q' 0 } S := {} while ( q' Q'-S) forll Σ q'' := e-closure(δ (q',)) δ'(q',) := q'' Q' := Q' {q''} S := S {q'} F' := {q' Q' q' F }

Ελαχιστοποίηση ΝΠΑ Όμως, οι λιγότρς δυνατές καταστάσις του ΝΠΑ, οδηγούν σ αποδοτικότρο κώδικα. Διαγραφή ισοδύναμων καταστάσων. Δύο καταστάσις q 1 και q 2 διακρίνονται από μια συμβολοσιρά σ, όταν δ*(q 1,σ) ίναι τλική κατάσταση νώ δ*(q 2,σ) δν ίναι τλική. Όταν δύο καταστάσις δν διακρίνονται, τότ ίναι ισοδύναμς. Οι ισοδύναμς καταστάσις μπορούν να συγχωνυτούν σ μια.

Αλγόριθμος Ελαχιστοποίησης ΝΠΑ (Σ,Q,δ,q 0,F) Τ:= {(q i,q j ) i<j, όπου μόνο ένα των q i,q j ίναι τλική κατάσταση} S:={ (q i,q j ) i<j, όπου ταυτόχρονα τα q i,q j ίναι τλικές ή μη τλικές κατάστασις (ισοδύναμς)} repet forll (q i,q j ) of S forll in Σ q' i = δ(q i,) q' j = δ(q j,) if (q' i,q' j ) T (or (q' j,q' i ) T) Τ:= T {(q i,q j )} S:=S {(q i,q j )} until δν γίνονται αλλαγές στα S και T

Υλοποίηση Λκτικών Αναλυτών

Υλοποίηση ΛΑ (Ι) Άρα η υλοποίηση του λκτικού αναλυτή αφορά την σχδίαση των ΜΠΑ- που αντιστοιχούν σ κάθ λκτική μονάδα. Συνδυασμός των ΜΠΑ- σ ένα, Τα ΜΠΑ- νώνονται σ ένα ΜΠΑ- μ μηδνικές μταβάσις από μια νέα αρχική κατάσταση στις αρχικές καταστάσις των ΜΠΑ- για κάθ λκτική μονάδα. i f t h e n

Υλοποίηση ΛΑ (ΙΙ) Πρόβλημα: Οι λκτικές μονάδς ίναι μέρος μιας μγάλης συμβολοσιράς ισόδου. Αναγνώριση προθέματος χωρίς να ίναι γνωστό το τέλος της. Παράδιγμα: Αναγνώριση των λκτικών ">" "=" ">=" Επισκόπηση πιπλέον χαρακτήρων και κατάλληλη οπισθοδρόμηση. Ορισμένοι χαρακτήρς "διαβάζονται" πρισσότρς από μια φορές. Αναγνώριση της συμβολοσιράς μ το μγαλύτρο μήκος.

Παράδιγμα > 1 2 = 3 0 4 > 5 6 = 7

Λιτουργία Σύνολο S που πριλαμβάνι αρχικά τις καταστάσις - κλίσιμο(q 0 ). Ανάγνωση συμβόλου σ από την ίσοδο και δημιουργία συνόλου S' από τις καταστάσις για τις οποίς υπάρχι μτάβαση για το σ από τις καταστάσις του S. Παραπάνω διαδικασία γίνται έως ότου να μην υπάρχουν άλλς μταβάσις, δηλαδή S' = {}. Το πλέον πρόσφατο σύνολο μ μια τλική κατάσταση ονομάζται πιτυχημένο σύνολο. Η λκτική μονάδα αυτής της κατάστασης πιστρέφται. Το αυτόματο οπισθοδρομί τόσους χαρακτήρς όσους έπονται από το πιτυχημένο σύνολο.

Παράδιγμα Αναγνώριση της >=8 0 > 1 2 4 > 5 = 3 6 = 7 > = 8 0 1 4 6 2 5 3

Υλοποίηση μ ΝΠΑ Δημιουργούμ το συνολικό ΜΠΑ-. Μτατροπή σ ΝΠΑ, διαγραφή απρόσιτων καταστάσων και λαχιστοποίηση. Προσομοιώνουμ το αυτόματο μέχρι να έλθι σ ένα σημίο για το οποίο δν υπάρχι μτάβαση. Οπισθοδρομούμ μέχρι να φτάσουμ σ μια απο τις τλικές καταστάσις του ΝΠΑ, όπου γίνονται οι νέργις που σχτίζονται μ αυτή.

Γλώσσς Προγραμματισμού Μταγλωττιστές Διαγράμματα Μτάβασης

Διαγράμματα Μτάβασης Τροποποιημένα ΝΠΑ που απικονίζουν ύγλωττα τις λιτουργίς του Λκτικού Αναλυτή. Διαφορές ΔΜ και ΝΠΑ Από τις τλικές καταστάσις δν υπάρχουν μταβάσις. Σ κάθ τλική κατάσταση αντιστοιχί κωδικός ξόδου, μοναδικός για κάθ λκτική μονάδα. Στις τλικές καταστάσις σημιώνονται ο αριθμός των συμβόλων (n) που πρέπι να οπισθοδρομήσι το αυτόματο, μ το συμβολισμό *n. Κατασκυή μ μπιρικό τρόπο (συνήθως)

Κατασκυή ΔΜ Για κάθ ομάδα λκτικών κατασκυάζται το ΝΠΑ και τον αντίστοιχο γράφο μτάβασης. Συμπληρώνται ο γράφος μτάβασης ώστ να προκύψι το ΔΜ. Συνδυάζονται τα ΔΜ ώστ να προκύψι το συνολικό ΔΜ του λκτικού αναλυτή.

Παράδιγμα (1) Γράφοι Μτάβασης Αναγνωριστικών L 1 2 L D Διάγραμμα Μτάβασης L L όχι L/D * 1 2 3 (Τ_ID) D

Παράδιγμα (2) Γράφοι Μτάβασης > = > 1 2 3 4 5 Διάγραμμα Μτάβασης > 0 1 = 2 (Τ_GE) όχι = * 3 (Τ_GT)

Ανάνηψη από Σφάλματα Εντοπισμός σχτικά μικρού αριθμού σφαλμάτων λόγω της πριορισμένης οπτικής. Έστω το ακόλουθο: whille (x>0) {..} Στρατηγικές ανάνηψης: Μέθοδος πανικού (pnic mode): Διαγραφή συμβόλων μέχρι να βρθί κατάλληλο πρόθμα. Διαγραφή/ισαγωγή/αντικατάσταση χαρακτήρα. Αντιμτάθση δύο χαρακτήρων.

Σύνοψη Ππρασμένα Αυτόματα Νττρμινιστικά Ππρασμένα Αυτόματα Μη-Νττρμινιστικά Ππρασμένα Αυτόματα Μη-Νττρμινιστικά Ππρασμένα Αυτόματα μ Μηδνικές Μταβάσις Αναγωγές Αυτομάτων και Γραμματικών. Υλοποίηση Λκτικών Αναλυτών Προβλήματα Προσομοίωση ΠΑ Διαγράμματα Μτάβασης Σφάλματα