ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.1 Γραμματικές Ι
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.2 Γραμματικές ΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.3 Γραμματικές ΙΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.4 Γραμματικές ΙV
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.5 Γραμματικές V
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.6 Γραμματικές χωρίς συμφραζόμενα Ι
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.7 Γραμματικές χωρίς συμφραζόμενα ΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.8 Γραμματικές χωρίς συμφραζόμενα ΙΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.9 Γραμματικές χωρίς συμφραζόμενα ΙV Η επεξεργασία μιας συμβολοσειράς εισόδου από ένα αυτόματο στοίβας ονομάζεται απλοποίηση γιατί ουσιαστικά αποτελείται από βήματα επαναδιατύπωσης της συμβολοσειράς σύμφωνα με τη συνάρτηση μετάβασης. Επομένως αν ορίζεται π.χ. η μετάβασητότε η παράθεση της συμβολοσειράς εισόδουστην άδεια στοίβα προκαλεί την απλοποίηση Συνεχίζοντας με την εκτέλεση μεταβάσεων, προκύπτει
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.10 Γραμματικές χωρίς συμφραζόμενα V Ένα αυτόματο στοίβας μπορεί να εκτελέσει μεταβάσεις διαφόρων τύπων: ως αποτέλεσμα της ανάγνωσης ενός συμβόλου εισόδου χωρίς να έχει προηγηθεί ανάγνωση (μεταβάσεις - ε) μεταβάσεις ώθησης ή αφαίρεσης συμβόλων από τη στοίβα Σε οποιοδήποτε στάδιο της επεξεργασίας μιας συμβολοσειράς εισόδου, η διαμόρφωση του αυτόματου ορίζεται από την τρέχουσα κατάστασή του και τα περιεχόμενα της στοίβας. Έτσι, αν στην κατάσταση s j πάνω από το σύμβολο z 0 της κενής στοίβας περιέχονται ακόμη τα σύμβολα z 1 z 2,…,z k και το τελευταίο είναι το σύμβολο της κορυφής, τότε η διαμόρφωση της μηχανής είναι η: z 0 z 1 z 2,…,z k s j ήz 0 ζs j για ζ=z 1 z 2,…,z k
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.11 Γραμματικές χωρίς συμφραζόμενα VI Λέμε ότι η συμβολοσειρά αναγνωρίζεται από το αυτόματο στοίβας ΑΣ αν, είτε, όπου Α το σύνολο των καταστάσεων κατάληξης, είτε ζ=ε, δηλαδή η στοίβα είναι άδεια, χωρίς να είναι απαραίτητο η s f να είναι κατάληξη. Έτσι, η γλώσσα του αυτόματου ΑΣ ορίζεται από τη σχέση ή ζ=ε} ΘΕΩΡΗΜΑ: Για κάθε γραμματική G, χωρίς συμφραζόμενα, είναι δυνατό να κατασκευασθεί ένα κατάλληλο αυτόματο στοίβας ΑΣ, που να αναγνωρίζει ακριβώς τη γλώσσα που παράγεται από τη γραμματική G, δηλ. να ισχύει
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.12 Γραμματικές χωρίς συμφραζόμενα VII Γενικά ένα αυτόματο στοίβας αναγνωρίζει τη γλώσσα μιας γραμματικής χωρίς συμφραζόμενα με μη προσδιοριστικό τρόπο. Οικογένειες γλωσσών χωρίς συμφραζόμενα που η κάθε μια από αυτές μελετάται σε σχέση με τον τύπο του αυτόματου στοίβας από το οποίο αναγνωρίζονται: γραμμικές γλώσσες ημι-αιτιολογικές γλώσσες ισχυρά ημι-αιτιολογικές γλώσσες γλώσσες πεπερασμένων γυρισμάτων παρενθετικές γλώσσες απλές γλώσσες γλώσσες LL και LR Στην κατασκευή μεταγλωττιστών χρησιμοποιούμε μόνο τις τελευταίες.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.13 Γραμματικές χωρίς συμφραζόμενα VIII Λέμε ότι η συμβολοσειρά είναι μια αριστερή προτασιακή μορφή, αν έχει προκύψει από τις προηγούμενες, εφαρμόζοντας κάθε φορά παραγωγή, που αντικαθιστά το πρώτο μη τερματικό σύμβολο από αριστερά. Αυτό γράφεται ως, Μια συμβολοσειρά είναι δεξιά προτασιακή μορφή, αν έχει προκύψει εφαρμόζοντας κάθε φορά παραγωγή, που αντικαθιστά το πρώτο μη τερματικό σύμβολο από δεξιά. Αυτό γράφεται ως
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.14 Γραμματικές χωρίς συμφραζόμενα ΙX Λέμε ότι μια γραμματική είναι γραμματική LL(k) αν κάθε της πρόταση μπορεί να προέλθει από την αρχή της μέσω αριστερών ενδιάμεσων μορφών, όπου ο κανόνας που εφαρμόζεται σε κάθε παραγωγή μπορεί να προβλεφθεί με βάση τα k επόμενα σύμβολα της συμβολοσειράς. Όλες οι γλώσσες της οικογένειας LL είναι προσδιοριστικές. Μια γραμματική είναι γραμματική LR(k) αν κάθε της πρόταση μπορεί να παραχθεί από την αρχή της μέσω δεξιών ενδιάμεσων μορφών, που προκύπτουν με εφαρμογή κανόνα ο οποίος μπορεί να ανιχνευθεί με βάση τα k πρώτα τερματικά σύμβολα της προτασιακής μορφής. Όλες οι γλώσσες της οικογένειας LR είναι προσδιοριστικές. Η οικογένεια των γλωσσών LR(1) είναι ακριβώς η οικογένεια των προσδιοριστικών γλωσσών.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.15 Συμβολισμοί BNF και EBNF I
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.16 Συμβολισμοί BNF και EBNF II ΠΑΡΑΔΕΙΓΜΑ: Γραμματική αριθμητικών εκφράσεων S = έκφραση. έκφραση = έκφραση “+” όρος | έκφραση “-” όρος | όρος. όρος = όρος “*” παράγοντας | όρος “/” παράγοντας | παράγοντας. παράγοντας = “(” έκφραση “)” | αριθμός. αριθμός = ψηφίο { ψηφίο }. ψηφίο = “0” | “1” | “2” | “3” | “4” | “5” | “6” | “7” | “8” | “9”.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.17 Παράγωγα και συντακτικά δένδρα I Ένα παράγωγο δένδρο αναπαριστά τη δομή μιας πρότασης και έχει το χαρακτηριστικό ότι μπορεί να αντιστοιχεί σε περισσότερες από μία παραγωγές. ΠΑΡΑΔΕΙΓΜΑ S = έκφραση. έκφραση = έκφραση ΤΛ έκφραση | “(” έκφραση “)” | “αριθμός”. ΤΛ = “+” | “-” | “*” | “/”. ΠΡΌΤΑΣΗ: (27-5)*8
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.18 Παράγωγα και συντακτικά δένδρα II Παραγωγή μέσω αριστερών προτασιακών μορφών Παραγωγή μέσω δεξιών προτασιακών μορφών
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.19 Παράγωγα και συντακτικά δένδρα IIΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.20 Παράγωγα και συντακτικά δένδρα IV Συντακτικό δένδρο: πιο συμπαγής δομή που παράλληλα περιέχει και την πληροφορία για τη στατική σημασία της πρότασης
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.21 Γραμματικές με ασάφειες Ι Λέμε ότι μια γραμματική περιέχει ασάφειες, όταν σε μια πρότασή της μπορεί να αντιστοιχούν περισσότερα από ένα δένδρα. ΑΣΑΦΕΙΑ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΤΕΛΕΣΤΩΝ S = έκφραση. έκφραση = έκφραση ΤΛ έκφραση | “(” έκφραση “)” | “αριθμός”. ΤΛ = “+” | “-” | “*” | “/”. ΠΡΟΤΑΣΗ: 27-5*8
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.22 Γραμματικές με ασάφειες ΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.23 Γραμματικές με ασάφειες ΙΙΙ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.24 Γραμματικές με ασάφειες ΙV Σωστό δένδρο είναι το δένδρο εκείνο που είναι συμβατό με τη σημασία που θέλει να αποδώσει ο κατασκευαστής σε κάθε στοιχείο της γλώσσας. Για την ασάφεια προτεραιότητας τελεστών απαιτείται η χρήση κανόνων αποσαφήνισης προτεραιοτήτων. S = έκφραση. έκφραση = έκφραση ΤΛ_ΑΘ έκφραση | όρος. ΤΛ_ΑΘ = “+” | “-”. όρος = όρος ΤΛ_ΓΙ όρος | παράγοντας. ΤΛ_ΓΙ = “*” | “/”. παράγοντας = “(” έκφραση “)” | “αριθμός”.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.25 Γραμματικές με ασάφειες V Η προηγούμενη γραμματική παραμένει δέσμια ασάφειας ως προς την προσεταιριστικότητα των πράξεων: πως γίνεται η ανάλυση της ; Η συγκεκριμένη γραμματική αφήνει ανοικτό και το ενδεχόμενο (27-5)-8 αλλά και το ενδεχόμενο 27- (5-8). Συνήθως μας ενδιαφέρει να διασφαλίζουμε αριστερή προσεταιριστικότητα και αυτό επιτυγχάνεται αν ο αντίστοιχος κανόνας της γραμματικής χαρακτηρίζεται από αριστερή και μόνο αριστερή αναδρομικότητα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.26 Γραμματικές με ασάφειες VΙ Διορθωμένη γραμματική:S = έκφραση. έκφραση = έκφραση ΤΛ_ΑΘ όρος | όρος. ΤΛ_ΑΘ = “+” | “-”. όρος = όρος ΤΛ_ΓΙ παράγοντας | παράγοντας. ΤΛ_ΓΙ = “*” | “/”. παράγοντας = “(” έκφραση “)” | “αριθμός”. Πρόταση: 27-5*8
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.27 Γραμματικές με ασάφειες VΙΙ Πρόταση:27-5-8
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.28 Γραμματικές με ασάφειες VΙΙI ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΜΕΤΕΩΡΟΥ ELSE S = εντολή. εντολή = “if” έκφραση “then” εντολή | “if” έκφραση “then” εντολή “else” εντολή | άλλο. if EK1 then if EK2 then ΕΝΤ1 else ΕΝΤ2
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.29 Γραμματικές με ασάφειες IΧ
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.30 Γραμματικές με ασάφειες Χ ΓΡΑΜΜΑΤΙΚΗ ΠΟΥ ΑΠΟΦΕΥΓΕΙ ΤΟ ΠΡΟΒΛΗΜΑ ΤΟΥ ΜΕΤΕΩΡΟΥ ELSE ΜΕ ΤΕΧΝΑΣΜΑ S = εντολή. εντολή = συν_εντολή | ασυν_εντολή. συν_εντολή=“if” έκφραση “then” συν_εντολή “else” συν_εντολή | άλλο. ασυν_εντολή= “if” έκφραση “then” εντολή | “if” έκφραση “then” συν_εντολή “else” ασυν_εντολή.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.31 Αναπαράσταση παράγωγου δένδρου #define astEmptyProgram 399 #define astProgram 400 #define astEmptyDeclSeq 401 #define astDeclSeq 402 #define astDecl /* */ /* THE STRUCTURE FOR THE ABSTRACT SYNTAX TREE NODES ---- */ /* */ typedef struct AstNode_tag { int NodeType; struct symbol_tag *SymbolNode; struct AstNode_tag *pAstNode[4]; } AstNode;
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.32 Καθοδική Ανάλυση Ξεκινά από τη αρχή της γραμματικής (ρίζα δένδρου) για να αναπτύξει τη συμβολοσειρά, που αναλύει, αν αυτή αποτελεί πρόταση. Καμία από τις τεχνικές που θα εξετάσουμε δεν μπορεί να εφαρμοσθεί σε αριστερά αναδρομικές γραμματικές. Διακρίνουμε της τεχνικές της οπισθοδρόμησης και τις τεχνικές της πρόγνωσης.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.33 Καθοδική ανάλυση με οπισθοδρόμηση Ι 1. Δοθέντος συγκεκριμένου μη τερματικού συμβόλου εφαρμόζεται ο πρώτος κανόνας της γραμματικής. 2. Στην προτασιακή μορφή, που προκύπτει επιλέγεται το πρώτο από αριστερά μη τερματικό σύμβολο και εφαρμόζεται ο πρώτος κανόνας, που αναφέρεται σε αυτό. 3. Γίνεται επαναληπτική εφαρμογή του βήματος 2, για κάθε ένα από τα μη τερματικά σύμβολα, που ακολουθούν, μέχρι τη στιγμή της παραγωγής, μιας σειράς τερματικών συμβόλων (πρόταση γλώσσας αν ταυτίζεται) ή τμήματος τερματικών συμβόλων της προτασιακής μορφής, που διαφέρει από το αντίστοιχο τμήμα της συμβολοσειράς εισόδου Η δεύτερη περίπτωση μπορεί να είναι αποτέλεσμα εσφαλμένης επιλογής κανόνα. Αναιρείται ο κανόνας που εφαρμόσθηκε τελευταίος και χρησιμοποιείται ο επόμενος που ισχύει για το ίδιο μη τερματικό σύμβολο. Αν έχουν χρησιμοποιηθεί όλοι οι κανόνες, τότε ο αλγόριθμος διατηρεί το σύμβολο ως έχει και προχωρά στην αναίρεση του κανόνα για το προηγούμενο μη τερματικό σύμβολο και οπισθοδρομεί στην κατάλληλη θέση της συμβολοσειράς εισόδου.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.34 Καθοδική ανάλυση με οπισθοδρόμηση ΙΙ ΠΑΡΑΔΕΙΓΜΑ S = “k” X “n” | “k” Y. X = “l” | “m”. Y = “mmn” | “nnm”. ΠΡΟΤΑΣΗ: “kmmm”
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.35 Καθοδική ανάλυση με οπισθοδρόμηση ΙΙI Ιδιαίτερα πολύπλοκη Όχι αποδοτική Αρκετά γενική, δηλ. αναγνωρίζει πιο πολλές γλώσσες από τις άλλες τεχνικές καθοδικής ανάλυσης Αργεί στον εντοπισμό των λαθών και έτσι η ανάνηψη γίνεται πολύ δύσκολη
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.36 Ανάλυση αναδρομικής κατάβασης Ι Στην ανάλυση αναδρομικής κατάβασης ο κάθε κανόνας, που αναφέρεται σε κάποιο μη τερματικό σύμβολο, εκφράζεται από τον ορισμό μιας διαδικασίας, που θα το αναγνωρίζει. Ένας αναλυτής προβλέπουσας αναδρομικής κατάβασης αποτελείται: από μία καθολική μεταβλητή, που περιέχει την τιμή της τρέχουσας λεξικής μονάδας από μία βοηθητική διαδικασία αναγνώρισης, που ελέγχει αν η τρέχουσα λεξική μονάδα είναι η αναμενόμενη και καλεί τη διαδικασία λεξικής ανάλυσης, για την ανάγνωση της επόμενης λεξικής μονάδας και την ενημέρωση της καθολικής μεταβλητής από τις διαδικασίες ανάλυσης, που αντιστοιχούν στα μη τερματικά σύμβολα της γραμματικής από μια διαδικασία εκκίνησης, που αφού διαβάσει την πρώτη λεξική μονάδα καλεί τη διαδικασία, που αντιστοιχεί στο μη τερματικό σύμβολο της αρχής.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.37 Ανάλυση αναδρομικής κατάβασης ΙΙ ΠΑΡΑΔΕΙΓΜΑ S = έκφραση. έκφραση = έκφραση “+” όρος | έκφραση “-” όρος | όρος. όρος = όρος “*” παράγοντας | όρος “/” παράγοντας | παράγοντας. παράγοντας = “(” έκφραση “)” | “αριθμός”. παράγοντας: Επέλεξε ΛΕΞ_ΜΟΝ περίπτωση “(”: αναγνώρισε (“(”); έκφραση; αναγνώρισε (“)”); περίπτωση “αριθμός”: αναγνώρισε(“αριθμός”); αλλιώς: λάθος; Τέλος παράγοντα. αναγνώρισε (αν_λεξ_μον): αν (ΛΕΞ_ΜΟΝ=αν_λεξ_μον) τότε διάβασε την επόμενη μονάδα και ενημέρωσε τη μεταβλητή ΛΕΞ_ΜΟΝ; αλλιώς λάθος; τέλος αν Τέλος αναγνώρισε.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.38 Ανάλυση αναδρομικής κατάβασης ΙΙI Η προβλέπουσα αναδρομική κατάβαση στηρίζεται στην πρόγνωση του κατάλληλου κάθε φορά κανόνα, που οδηγεί στην παραγωγή του δένδρου της πρότασης. Ας θεωρήσουμε τη μη αριστερά αναδρομική γραμματική των αριθμητικών εκφράσεων: S = έκφραση. έκφραση = όρος υπ_όροι. υπ_όροι = “+” όρος υπ_όροι | “-” όρος υπ_όροι | ε. όρος = παράγοντας υπ_παραγ. υπ_παραγ = “*” παράγοντας υπ_παραγ | “/” παράγοντας υπ_παραγ | ε. παράγοντας = “(”έκφραση “)” | “αριθμός”.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.39 Ανάλυση αναδρομικής κατάβασης ΙV Για το μη τερματικό σύμβολο «έκφραση», μπορεί εναλλακτικά να έχουμε την παραγωγή, ή την παραγωγή Γενικά, για να στηριχθεί η ανάλυση στην τεχνική της πρόγνωσης χρειάζεται για κάθε μη τερματικό σύμβολο, να είναι εκ των προτέρων γνωστό τo σύνολο των τερματικών, που είναι δυνατό να εμφανισθούν στην αρχή των συμβολοσειρών, που παράγονται από αυτό (σύνολο FIRST). Επιπλέον, αν η γραμματική περιλαμβάνει κανόνες-ε, τότε για κάθε μη τερματικό σύμβολο που βρίσκεται στο αριστερό μέρος ενός τέτοιου κανόνα, επιβάλλεται και ο υπολογισμός του συνόλου των τερματικών, που μπορεί να εμφανισθούν αμέσως μετά από αυτό (σύνολο FOLLOW).
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.40 Ανάλυση αναδρομικής κατάβασης V
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.41 Ανάλυση αναδρομικής κατάβασης VI
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.42 Ανάλυση αναδρομικής κατάβασης VII
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.43 Ανάλυση αναδρομικής κατάβασης VIII Παραδείγματα FIRST και FOLLOW (γραμματική αριθμητικών εκφράσεων)
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.44 Ανάλυση αναδρομικής κατάβασης IX Για τη φυσική ανάπτυξη δένδρου, κάθε διαδικασία δημιουργεί ένα κόμβο τον οποίο επιστρέφει ως αποτέλεσμα στο σημείο από όπου κλήθηκε. ΠΡΟΣΟΧΗ στην αριστερή προσεταιριστικότητα: χρειάζεται ειδική μέριμνα στη σχεδίαση της αλληλεπίδρασης μεταξύ των διαδικασιών της ανάλυσης. Δεν μπορούν να χρησιμοποιηθούν αριστερά αναδρομικές γραμματικές. Δεν μπορούν να χρησιμοποιηθούν γραμματικές, που δεν είναι LL(1), όπως: σειρά_εντολών = εντολή “;” σειρά_εντολών | εντολή. εντολή = “τερματικό”.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.45 Ανάλυση LL(1) I
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.46 Ανάλυση LL(1) II Αλγόριθμος υπολογισμού πίνακα ανάλυσης
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.47 Ανάλυση LL(1) IIΙ ΠΑΡΑΔΕΙΓΜΑ (γραμματική αριθμητικών εκφράσεων)
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.48 Ανάλυση LL(1) IV Αλγόριθμος ανάλυσης LL(1)
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.49 Απομάκρυνση αριστερής αναδρομικότητας Ι Διακρίνουμε την άμεση και την έμμεση αριστερή αναδρομικότητα ΠΑΡΑΔΕΙΓΜΑ ΑΜΕΣΗΣ ΑΡ. ΑΝΑΔΡΟΜΙΚΟΤΗΤΑΣ: έκφραση = έκφραση ΤΛ_ΑΘ όρος | όρος. ΠΑΡΑΔΕΙΓΜΑ ΕΜΜΕΣΗΣ ΑΡ. ΑΝΑΔΡΟΜΙΚΟΤΗΤΑΣ: ΓΕΝΙΚΗ ΜΟΡΦΗ ΑΜΕΣΗΣ ΑΡ. ΑΝΑΔΡΟΜΙΚΟΤΗΤΑΣ: μετασχηματίζεται στην ισοδύναμη μορφή
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.50 Απομάκρυνση αριστερής αναδρομικότητας ΙΙ ΠΑΡΑΔΕΙΓΜΑ Η S = έκφραση. έκφραση = έκφραση “+” όρος | έκφραση “-” όρος | όρος. όρος = όρος “*” παράγοντας | όρος “/” παράγοντας | παράγοντας. παράγοντας = “(” έκφραση “)” | “αριθμός”. μετασχηματίστηκε στην S = έκφραση. έκφραση = όρος υπ_όροι. υπ_όροι = “+” όρος υπ_όροι | “-” όρος υπ_όροι | ε. όρος = παράγοντας υπ_παραγ. υπ_παραγ = “*” παράγοντας υπ_παραγ | “/” παράγοντας υπ_παραγ | ε. παράγοντας = “(”έκφραση “)” | “αριθμός”.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.51 Απομάκρυνση αριστερής αναδρομικότητας ΙΙΙ Αλγόριθμος απομάκρυνσης άμεσης και έμμεσης αριστερής αναδρομικότητας
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.52 Απομάκρυνση αριστερής αναδρομικότητας ΙV Κατά την απομάκρυνση της αριστερής αναδρομικότητας δεν αλλάζει η γλώσσα της γραμματικής. Αλλάζει η μορφή των δένδρων που παράγει η επιλεγείσα μέθοδος ανάλυσης. Σημαντικότερη συνέπεια είναι το γεγονός ότι χάνεται η επιθυμητή ιδιότητα της αριστερής προσεταιριστικότητας.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.53 Αριστερή παραγοντοποίηση Ι Προηγείται οποιασδήποτε προβλέπουσας ανάλυσης, αν για το ίδιο μη τερματικό σύνολο υπάρχουν δύο ή περισσότεροι κανόνες με το ίδιο πρόθεμα στο δεξί μέρος. ΠΑΡΑΔΕΙΓΜΑΤΑ σειρά_εντολών = εντολή “;” σειρά_εντολών | εντολή. εντολή = “τερματικό”. ή εντολή_if = “if” έκφραση “then” εντολή | “if” έκφραση “then” εντολή “else” εντολή.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.54 Αριστερή παραγοντοποίηση ΙΙ Γενικά, ο κανόνας μετασχηματίζεται στον
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.55 Ανάνηψη λαθών Ι Εντοπισμός λάθους όσο το δυνατόν πιο έγκαιρα. Επιλογή θέσης από όπου θα συνεχίζεται η ανάλυση. Να εντοπίζονται μόνο υπαρκτά λάθη και να μην εμφανίζονται διαδιδόμενα πλασματικά λάθη. Να αποφεύγεται η μετάπτωση του αναλυτή σε ατέρμωνες βρόχους. Τεχνικές ανάνηψης λαθών: - ανάνηψη «πανικού» - ανάνηψη σε επίπεδο φράσης - κανόνες παραγωγής για λάθη - συνολική διόρθωση
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.56 Ανάνηψη λαθών ΙΙ Η ανάνηψη «πανικού» στην προβλέπουσα αναδρομική κατάβαση υλοποιείται με τον καθορισμό μονάδων συγχρονισμού. Όταν ο αναλυτής βρει λάθος, τότε προσπερνά τις επόμενες μονάδες μέχρι να εντοπίσει μια μονάδα συγχρονισμού από την οποία μπορεί να συνεχίσει την ανάλυσης. Κάθε μη τερματικό σύμβολο έχει τις δικές του μονάδες συγχρονισμού. Οι μονάδες συγχρονισμού επιλέγονται μέσα από τα σύνολα FOLLOW. Στην ανάλυση LL(1) έχουμε εντοπισμό λάθους, όταν στην κορυφή της στοίβας βρίσκεται ένα μη τερματικό σύμβολο X, τέτοιο ώστε το τρέχον σύμβολο εισόδου να μην περιλαμβάνεται στο σύνολο FIRST(X) και αν αυτό συμβαίνει να περιέχει το ε, ούτε στο σύνολο FOLLOW(X).
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.57 Ανάνηψη λαθών ΙΙI Η ανάνηψη «πανικού» μπορεί εύκολα να υλοποιηθεί με τον προσδιορισμό της κατάλληλης ενέργειας, για κάθε περίπτωση κενής θέσης, στον πίνακα ανάλυσης. Διακρίνουμε τρεις πιθανές ενέργειες ανάνηψης: - την αφαίρεση του συμβόλου Χ από τη στοίβα (pop), - το προσπέρασμα ενός αριθμού συμβόλων εισόδου, μέχρι τον εντοπισμό μονάδας, που μπορεί να χρησιμοποιηθεί για την επανεκκίνηση της διαδικασίας ανάλυσης (scan) και - την ώθηση στη στοίβα ενός νέου μη τερματικού συμβόλου.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.58 Ανάνηψη λαθών ΙV Η πρώτη ενέργεια εκτελείται, όταν η τρέχουσα λεξική μονάδα είναι η \0 ή όταν αυτή ανήκει στο FOLLOW(X). Η δεύτερη ενέργεια εκτελείται, όταν η τρέχουσα λεξική μονάδα δεν είναι η \0 και δεν ανήκει στο. Η τρίτη ενέργεια επιστρατεύεται, όταν συμβεί να έχει αδειάσει η στοίβα, ενώ δεν έχει ολοκληρωθεί ακόμη η ανάγνωση όλων των μονάδων της συμβολοσειράς εισόδου. Τότε ωθείται στη στοίβα το σύμβολο της αρχής της γραμματικής και αγνοούνται ένα προς ένα όλα τα επόμενα σύμβολα εισόδου, μέχρι την ανάγνωση συμβόλου, που ανήκει στο σύνολο FIRST της αρχής.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.59 Ανάνηψη λαθών V
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Πέμπτη, 30 Ιουλίου 2015Τμ. Πληροφορικής, Α.Π.Θ.60 Ανάνηψη λαθών VI