2.3.9 Ελαχιστοποίηση προσδιοριστικού πεπερασµένου αυτόµατου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα.

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

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

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

(x) = δ(x) π(x) + υ(x)

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

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

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

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

Mεταγλωττιστές. 4 ο εργαστηριακό μάθημα Λεξική ανάλυση και flex. Θεωρία

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

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 4 1 2

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

4.3. Γραµµικοί ταξινοµητές

Γραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών

Α. Ερωτήσεις Ανάπτυξης

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

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

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

οµή δικτύου ΣΧΗΜΑ 8.1

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

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

ΘΕΜΑ: Οδηγίες για τη διδασκαλία των Μαθηµατικών Γ/σίου και Γεν. Λυκείου.

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

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

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

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

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

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

Αλγόριθμοι για αυτόματα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΙΑΤΜΗΜΑΤΙΚΟ ΠΜΣ «ΜΑΘΗΜΑΤΙΚΑ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΤΩΝ ΑΠΟΦΑΣΕΩΝ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ η Σειρά Ασκήσεων ΑΠΑΝΤΗΣΕΙΣ

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

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

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

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

5.1 ΣΥΝΟΛΑ. 2. Παράσταση συνόλου. 3. Εποπτική παράσταση συνόλου : Γίνεται µε το διάγραµµα Venn, δηλαδή µε

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

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

Το θεώρηµα αντίστροφης απεικόνισης. ) και ακόµη ότι η g f 1 1. g y

KΕΦΑΛΑΙΟ 5 ΨΗΦΙΑΚΕΣ ΥΠΟΓΡΑΦΕΣ

5.1 Θεωρητική εισαγωγή

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 8

Ισοδυναµίες, Μερικές ιατάξεις

ραστηριότητες στο Επίπεδο 1.

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

HEAD INPUT. q0 q1 CONTROL UNIT

Μετασχηµατισµοί Laplace, Αναλογικά Συστήµατα, ιαφορικές Εξισώσεις

Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2

Θεωρητικά Θέµατα. Ι. Θεωρία Οµάδων. x R y ή x R y ή x y(r) [x] R = { y X y R x } X. Μέρος Σχέσεις Ισοδυναµίας, ιαµερίσεις, και Πράξεις

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

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

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Ασκησεις - Φυλλαδιο 7

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

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Κεφάλαιο 2. Παραγοντοποίηση σε Ακέραιες Περιοχές

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

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

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

ΓΡΑΜΜΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΞΙΣΩΣΕΩΝ

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

Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης, Καθηγητής Ιωάννης Μπεληγιάννης

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

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

Ακρότατα υπό συνθήκη και οι πολλαπλασιαστές του Lagrange

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:


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

Κεφάλαιο 4. Ευθέα γινόµενα οµάδων. 4.1 Ευθύ εξωτερικό γινόµενο οµάδων. i 1 G 1 G 1 G 2, g 1 (g 1, e 2 ), (4.1.1)

ΘΕΩΡΙΑ: Έστω η οµογενής γραµµική διαφορική εξίσωση τάξης , (1)

Ισοδυναµία τοπολογιών βρόχων.

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

ΜΑΘΗΜΑΤΙΚΑ & ΣΤΟΙΧΕΙΑ ΣΤΑΤΙΣΤΙΚΗΣ ΓΕΝΙΚΗΣ ΠΑΙ ΕΙΑΣ 2015 ΕΚΦΩΝΗΣΕΙΣ

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

Transcript:

ΚΕΦΑΛΑΙΟ Λεξική Ανάλυση 7 Στο σχήµα.4 απεικονίζεται η ανάπτυξη υποσυνόλων της ίδιας έκφρασης µέσω της χρήσης αυτόµατου Glushkov (σχήµα.9β). Τα προσδιοριστικά αυτόµατα των σχηµάτων. και.4 παρά τις διαφορετικές επιγραφές είναι ουσιαστικά ίδια. Επιπλέον, σε αντίθεση µε το αυτόµατο του σχήµατος. είναι ελάχιστα, δηλαδή δεν υπάρχει άλλο αυτόµατο µε λιγότερες καταστάσεις που αναγνωρίζει ακριβώς την ίδια γλώσσα. Γενικά η ανάπτυξη υποσυνόλων δεν είναι απαραίτητο να δίνει τα ίδια αποτελέσµατα,όταν εφαρµόζεται µέσω Thom pson και µέσω Glushkov και σίγουρα δε µας δίνει πάντα τα ελάχιστα αυτόµατα. Το γεγονός αυτό καθιστά αναγκαία την εφαρµογή του αλγορίθµου ελαχιστοποίησης που περιγράφουµε στην επόµενη παράγραφο...9 Ελαχιστοποίηση προσδιοριστικού πεπερασµένου αυτόµατου Τα προσδιοριστικά αυτόµατα, που προκύπτουν ως αποτέλεσµα ανάπτυξης υποσυνόλων, διακρίνονται συχνά από µεγάλους πίνακες µεταβάσεων. Αυτό οφείλεται στην αύξηση του αριθµού των καταλήξεων, όπου θα µπορούσε να ολοκληρωθεί η αναγνώριση µιας δεδοµένης συµβολοσειράς.γενικά,η µετατροπή ενός µη προσδιοριστικού αυτόµατου, σε προσδιοριστικό, µπορεί να προκαλέσει εκθετική αύξηση του αριθµού των καταστάσεων, που στη συνέχεια πρέπει να περιοριστεί µε την εφαρµογή ενός αλγορίθµου ελαχιστοποίησης. Εξάλλου,έχει θεµελιωθεί και θεωρητικά,ότι για δοθέν προσδιοριστικό αυτόµατο, υπάρχει ένα µοναδικό ισοδύναµο αυτόµατο µε τον ελάχιστο αριθµό καταστάσεων.ο αλγόριθµος των H opcroft & Ullmn ([H U 79]), που περιγράφεται στη συνέχεια, παράγει ως αποτέλεσµα το ελάχιστο αυτόµατο, διαιρώντας τις καταστάσεις σε κλάσεις ισοδυναµίας, έτσι ώστε όλες οι καταστάσεις της ίδιας κλάσης να αναγνωρίζουν τις ίδιες συµβολοσειρές.οι κλάσεις που προκύπτουν,αποτελούν τις «καταστάσεις» του νέου ελάχιστου αυτόµατου. Ορισµός. Λέµε ότι, σε ένα αυτόµατο, η συµβολοσειρά w διακρίνει την κατάσταση s από την κατάσταση t,αν ξεκινώντας από την s και διοχετεύοντας την w, οδηγούµαστε σε µία κατάληξη, ενώ ξεκινώντας από την t και διοχετεύοντας την w,οδηγούµαστε σε κατάσταση,που δεν είναι κατάληξη. Θεωρούµε ότι η συµβολοσειρά ε διακρίνει τις καταλήξεις από τις υπόλοιπες καταστάσεις του αυτόµατου.ο αλγόριθµος λειτουργεί ως µία συνεχής βελτίωση της αρχικής διαίρεσης του χώρου των καταστάσεων,σε καταλήξεις και µη καταλήξεις. Οι κλάσεις ισοδυναµίας συγκροτούνται σταδιακά από καταστάσεις,µε τέτοιο τρόπο, ώστε για κάθε ζεύγος καταστάσεων από διαφορετικές κλάσεις, αυτές να έχουν διακριθεί από κάποια συµβολοσειρά εισόδου,ενώ για κάθε ζεύγος καταστάσεων της ίδιας κλάσης,να µην έχει συµβεί ακόµη κάτι τέτοιο.

7 Μεταγλωττιστές γλωσσών προγραµµατισµού Αυτό επιτυγχάνεται ως εξής: για κάθε κλάση ισοδυναµίας από τις ήδη σχηµατισθείσες και για µία είσοδο,ελέγχονται όλες οι µεταβάσεις από όλες τις καταστάσεις.αν υπάρχουν µεταβάσεις σε καταστάσεις διαφορετικών κλάσεων,τότε δηµιουργούνται δύο κλάσεις καταστάσεων, µε τέτοιο τρόπο, ώστε όλες οι καταστάσεις της κάθε κλάσης ισοδυναµίας να οδηγούν στην ίδια κλάση καταστάσεων.η διαδικασία αυτή επαναλαµβάνεται µέχρις ότου διαπιστωθεί ότι στην τρέχουσα διαίρεση του χώρου των καταστάσεων δεν υπάρχουν κλάσεις ισοδυναµίας, που να µπορούν να διαιρεθούν περισσότερο. Για να διευκολύνουµε την κατανόηση του αλγορίθµου παρουσιάζουµε µε εποπτικό τρόπο την εφαρµογή του στα δύο παραδείγµατα ελαχιστοποίησης που ακολουθούν. Παράδειγµα..9 Στο παράδειγµα αυτό παρουσιάζουµε την ελαχιστοποίηση του αυτόµατου του σχήµατος.5,που αντιστοιχεί στην κανονική έκφραση (+ -)? {} {}* + - Σχήµα.5 Προσδιοριστικό αυτόµατο µε πλεονασµατικές καταστάσεις Στο αυτόµατο του σχήµατος δεν απεικονίζεται η κατάσταση «λάθος», που όπως τονίστηκε στην παράγραφο.. υπάρχει σε κάθε τυπικά ορισµένο αυτόµατο.κατά την ελαχιστοποίηση του αυτόµατου θα ληφθεί υπόψη και η κατάσταση «λάθος». Στον πίνακα που ακολουθεί για κάθε ζεύγος καταστάσεων καταγράφουµε το αν αυτές διακρίνονται από κάποια συµβολοσειρά εισόδου.σε πρώτη φάση βρίσκουµε τα ζεύγη καταστάσεων, που διακρίνονται από τη συµβολοσειρά ε, δηλαδή τα ζεύγη καταστάσεων που αποτελούνται από µία κατάληξη και µία κατάσταση που δεν είναι κατάληξη. «λάθος» Στη συνέχεια παρατηρούµε ότι και «λάθος» «λάθος».εφόσον όµως για τις καταστάσεις και «λάθος» έχει ήδη καταγραφεί στον πίνακα ότι διακρίνονται µεταξύ τους,συνάγεται το ίδιο και για τις και «λάθος».με ανάλογο τρόπο συµπεραίνουµε

ΚΕΦΑΛΑΙΟ Λεξική Ανάλυση 7 ότι διακρίνονται η από την «λάθος» και η από την «λάθος» και ο πίνακας παίρνει πλέον τη µορφή: «λάθος» Η διαδικασία συµπλήρωσης του πίνακα συνεχίζεται µέχρι το σηµείο εκείνο στο οποίο δεν είναι δυνατή η εύρεση νέου ζεύγους καταστάσεων,που διακρίνονται από κάποιο χαρακτήρα εισόδου. Παρατηρούµε ότι + και + «λάθος»,αλλά ήδη έχει καταγραφεί στον πίνακα ότι η διακρίνεται από την «λάθος».συµπεραίνουµε λοιπόν ότι η διακρίνεται από την και µε ανάλογο τρόπο ότι η διακρίνεται επίσης από την.ο συµπληρωµένος πίνακας είναι τελικά ο «λάθος» από όπου διαπιστώνεται ότι τελικά µόνο οι καταστάσεις και ανήκουν στην ίδια κλάση ισοδυναµίας.μετονοµάζουµε την κατάσταση σε και τελικά παίρνουµε το ελάχιστο αυτόµατο του σχήµατος.6. + - Σχήµα.6 Ελάχιστο προσδιοριστικό αυτόµατο για την έκφραση (+ -)? {} {}* Παράδειγµα.. Στο παράδειγµα αυτό εφαρµόζουµε τον αλγόριθµο ελαχιστοποίησης σε ένα προσδιοριστικό αυτόµατο µε πλεονασµατικές καταστάσεις, που περιλαµβάνει περισσότερες από µία καταλήξεις (σχήµα.7).

74 Μεταγλωττιστές γλωσσών προγραµµατισµού 4 5 Σχήµα.7 Προσδιοριστικό αυτόµατο µε πλεονασµατικές καταστάσεις Οι καταστάσεις και 5 είναι τελικές και άρα η συµβολοσειρά ε τις διακρίνει από τις υπόλοιπες αλλά δεν τις διακρίνει µεταξύ τους: 4 5 Παρατηρούµε ότι και, αλλά οι και έχει ήδη καταγραφεί ότι διακρίνονται µεταξύ τους.συµπεραίνουµε λοιπόν ότι διακρίνεται και η από την και µε τον ίδιο τρόπο διαπιστώνεται ότι διακρίνονται η από την 4,η 4 από την και η από την.οι καταστάσεις και δε διακρίνονται µεταξύ τους γιατί µε µετάβαση α έχουµε τις καταστάσεις και και µε µετάβαση τις καταστάσεις 4 και,που και στις δύο περιπτώσεις δεν έχουν βρεθεί να διακρίνονται µεταξύ τους.ο πίνακας έχει ως εξής: 4 5 Επανεξετάζοντας τώρα τις καταστάσεις και παρατηρούµε ότι µε ανάγνωση του α υπάρχουν µεταβάσεις αντίστοιχα στις και,που όµως τώρα έχει καταγραφεί στον πίνακα ότι διακρίνονται µεταξύ τους.κατά συνέπεια διακρίνονται και οι και,ενώ δεν προκύπτει κάποια επιπλέον πληροφορία για το ζεύγος καταστάσεων και 4, καθώς και το ζεύγος των και 5.

ΚΕΦΑΛΑΙΟ Λεξική Ανάλυση 75 4 5 Εξετάζοντας τα δύο εναποµείναντα ζεύγη δεν παρατηρούνται αλλαγές στον πίνακα και άρα η διαδικασία ολοκληρώνεται µε τη διαπίστωση ότι οι καταστάσεις και 4 είναι ισοδύναµες,όπως επίσης και οι καταστάσεις και 5.Το ελάχιστο αυτόµατο απεικονίζεται στο σχήµα.8. Σχήµα.8 Ελάχιστο προσδιοριστικό αυτόµατο για το αυτόµατο του σχ..7 Αλγόριθµος.8: Ελαχιστοποίηση προσδιοριστικού αυτόµατου Είσοδος:Ένα προσδιοριστικό πεπερασµένο αυτόµατο Μ,µε χώρο καταστάσεων S, αλφάβητο Σ, αρχική κατάσταση s και σύνολο καταλήξεων Α Έξοδος: Ένα ελάχιστο προσδιοριστικό αυτόµατο Μ µε γλώσσα L(M) Περιγραφή:. Θεωρούµε την αρχική διαίρεση,,του χώρου των καταστάσεων,στην κλάση των καταλήξεων Α και στην κλάση των καταστάσεων S-A,που δεν αποτελούν κατάληξη.. Για (κάθε κλάση ισοδυναµίας G της i )επανέλαβε διαίρεσε το G σε κλάσεις,έτσι ώστε δύο καταστάσεις s και tτου G να είναι στην ίδια κλάση, αν και µόνο αν, για όλους τους χαρακτήρες του αλφαβήτου οι αντίστοιχες µεταβάσεις οδηγούν σε καταστάσεις της ίδια κλάσης της i. αντικατέστησε στη i+,την κλάση G,µε τις νέες κλάσεις,που σχηµατίζονται Τέλος επανάληψης. Αν i+ = i τότε τελική = i+,διαφορετικά επανέλαβε το βήµα. 4. Επιλέγεται µία αντιπροσωπευτική κατάσταση από κάθε κλάση της τελική.οι καταστάσεις αυτές θα αποτελέσουν τις καταστάσεις του ελάχιστου αυτόµατου M. 5. Αν στο M υπάρχει νεκρή κατάσταση, κατάσταση δηλαδή, που δεν είναι κατάληξη και χαρακτηρίζεται από µεταβάσεις στον εαυτό της,για όλους τους χαρακτήρες του αλφαβήτου,τότε αυτή διαγράφεται.επίσης διαγράφονται όλες οι καταστάσεις,που δεν είναι προσεγγίσιµες από την αρχική κατάσταση και αγνοούνται όλες οι µεταβάσεις στις καταστάσεις,που διαγράφονται.

76 Μεταγλωττιστές γλωσσών προγραµµατισµού Παράδειγµα.. Το προσδιοριστικό αυτόµατο του σχήµατος. προήλθε από τη µετατροπή της ανάπτυξης Thom pson της έκφρασης, {γράµµα}(({γράµµα} {})*) για τα ονόµατα µιας γλώσσας προγραµµατισµού. Οι µεταβάσεις όλων των καταλήξεων οδηγούν σε καταλήξεις, τόσο στην περίπτωση, που ο χαρακτήρας εισόδου είναι γράµµα,όσο και στην περίπτωση,που είναι. γράµµα γράµµα Σχήµα.9 Το ελάχιστο αυτόµατο της ανάπτυξης υποσυνόλων από το σχήµα. Άρα οι τρεις καταλήξεις δε διακρίνονται από κανένα χαρακτήρα και για το λόγο αυτό, στο ελάχιστο αυτόµατο του σχήµατος.9, εκφράζονται από µία ενιαία κατάσταση..4 Γεννήτριες λεξικών αναλυτών Η πρώτη ευρέως διαθέσιµη γεννήτρια λεξικού αναλυτή,ήταν το εργαλείο lex,που εµφανίστηκε και εξακολουθεί να περιλαµβάνεται στα συνοδευτικά προγράµµατα του λειτουργικού συστήµατος UNIX.Το lex δέχεται ως είσοδο ένα αρχείο περιγραφής του προς ανάπτυξη λεξικού αναλυτή και παράγει ως αποτέλεσµα τον πίνακα µεταβάσεων ενός αυτόµατου και τον κώδικα C της λεξικής ανάλυσης. Το flex (fst lex) είναι ένα εργαλείο µεταγενέστερο του lex,που αν και σε µεγάλο βαθµό συµβατό µε αυτό, διαθέτει κάποιες µικρές επεκτάσεις και τη δυνατότητα να παράγει αποδοτικότερο κώδικα λεξικής ανάλυσης. Πάντως και τα δύο εργαλεία είναι ελεύθερα διαθέσιµα στο διαδίκτυο και κυκλοφορούν και σε εκδόσεις κατάλληλες,για χρήση σε προσωπικούς υπολογιστές. Η δηµιουργία ενός λεξικού αναλυτή,ξεκινά µε τη σύνταξη ενός αρχείου περιγραφής του,που διοχετεύεται στη συνέχεια,ως είσοδος,στη γεννήτρια.ο κώδικας,που προκύπτει ως αποτέλεσµα, περιλαµβάνεται στο αρχείο µε όνοµα lexyy.c ή lex.yy.c και ουσιαστικά αποτελείται από ένα πίνακα µεταβάσεων, που περιλαµβάνεται σε µία κατάλληλα διατυπωµένη συνάρτηση ανάγνωσης λεξικών µονάδων,µε το όνοµα yylex().