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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 5

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

n true false if t then t else t u t t b t emptylist cons t t t t λx.t u ::= head tail isempty

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

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

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

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

Λύσεις Σειράς Ασκήσεων 5

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

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

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

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

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

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

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

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

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

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

Λύσεις Σειράς Ασκήσεων 5

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

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

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

aab aabb aaabb aaaabb aaaabb aaaabb

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

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

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

Υπολογισμός - Εντολές Ελέγχου

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

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

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

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

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

Λύσεις Σειράς Ασκήσεων 5

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

Θέματα υπολογισμού στον πολιτισμό

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

HY 180 Λογική Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο 5

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

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

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

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

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

Στοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής

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

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

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 5: Προτασιακός Λογισμός: Κατασκευή Μοντέλων Τμήμα Επιστήμης Υπολογιστών

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

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

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

Transcript:

Άσκηση 1 Φροντιστήριο 6 Λύσεις Θεωρήστε την πιο κάτω ασυμφραστική γραμματική: E E + (E) Να κατασκευάσετε μία παραγωγή και το αντίστοιχο συντακτικό δέντρο για τις πιο κάτω λέξεις: (α) (γ) + ( ) (β) ( + ) + (δ) (( + )) Μπορείτε να κατασκευάσετε παραγωγή για την έκφραση + ; Αριθμούμε τους κανόνες ως εξής: E E + (1) E (2) (3) (4) (E) (5) (6) (α) Ε Τ Κανόνας (2) Κανόνας (4) Κανόνας (6) Συντακτικό Δέντρο: Ε Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 1 από 6

(β) Ε Ε + Τ Κανόνας (1) Τ + Τ Kανόνας (2) + Τ Κανόνας (3) (E) + Τ Κανόνας (5) (E+) + Τ Κανόνας (1) (+) + Τ Κανόνας (2) (+) + Κανόνας (4) ( + ) + Κανόνας (6) Συντακτικό Δέντρο: Ε E + ( E ) E + Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 2 από 6

(γ) Ε Ε + Τ Κανόνας (1) Τ + Τ Kανόνας (2) + Τ Κανόνας (4) + Τ Κανόνας (6) + ( ) Κανόνας (3) + ( ) Κανόνας (4) + ( ) Κανόνας (6) Το συντακτικό δέντρο παραλείπεται. (δ) Ε Τ Κανόνας (2) Kανόνας (4) ((E)) Κανόνας (5) ((E + )) Κανόνας (1) (( + )) Κανόνας (2) (( + )) Κανόνας (4) (( + )) Κανόνας (6) Το συντακτικό δέντρο παραλείπεται. H λέξη + μπορεί να παραχθεί από τη γραμματική και, σε αντίθεση με τη γραμματική στη Διαφάνεια 4 22, η παρούσα γραμματική παράγει την λέξη αυτή μονότροπα. Συγκεκριμένα, η παραγωγή εμφανίζει το πιο κάτω συντακτικό δέντρο. Ε E + Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 3 από 6

Άσκηση 2 Σε κάθε σκέλος, να βρείτε μια CG που να παράγει την αντίστοιχη γλώσσα. Θεωρήστε ότι το αλφάβητο των γλωσσών είναι το {0,1}. (α) {w η w αρχίζει και τελειώνει με το ίδιο σύμβολο} (β) {w η w έχει περιττό μήκος} (γ) {w w = w rev, δηλαδή η w είναι καρκινική} (α) 1A1 0A0 1 0 A 1A 0A ε (β) 11 00 10 01 1 0 (γ) 11 00 1 0 ε Άσκηση 3 Να μεταγάγετε την πιο κάτω ασυμφραστική γραμματική σε κανονική μορφή Chomsky. AA B A B ε Ξεκινούμε εισάγοντας μια καινούρια αρχική μεταβλητή. Η καινούρια γραμματική είναι η: 0 AA B A B ε Απαλείφουμε τον κανόνα B ε: 0 AA B A B ε Απαλείφουμε τον νεοδημιουργηθέντα κανόνα Α ε: 0 AA B A Α A B Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 4 από 6

Απαλείφουμε τους μοναδιαίους κανόνες: Κανόνας 0 AA B A Α A B Κανόνας 0 0 AA B A Α AA B A Α A B Κανόνας A B 0 AA B A Α AA B A Α A b Κανόνας A 0 AA B A Α AA B A Α A b AA B A Α Μεταγράφουμε όσους κανόνες οδηγούν σε λέξεις με μήκος μεγαλύτερο από δύο εισάγοντας καινούριες μεταβλητές και σχετικούς κανόνες: 0 AV UB A Α AV UB A Α A b AV UB A Α V A U Αυτό ολοκληρώνει τη διαδικασία. Άσκηση 4 Θεωρήστε την πιο κάτω γραμματική με αλφάβητο το {if, b, then, else, }: if b then else if b then (α) Να δείξετε ότι η γραμματική αυτή είναι πολύτροπη. (β) Να προτείνετε αλλαγές στη γραμματική έτσι ώστε να καταστεί μονότροπη. (α) Θεωρήστε τη λέξη if b then if b then else Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 5 από 6

Η λέξη αυτή παράγεται πολύτροπα από τη δοθείσα γραμματική. Αυτό επιβεβαιώνεται από την ύπαρξη των δύο πιο κάτω συντακτικών δέντρων για δύο διαφορετικές παραγωγές τις λέξης. if b then if b then else if b then else if b then Σημείωση: Το φαινόμενο της πολυτροπίας είναι ανεπιθύμητο στα πλαίσια των γλωσσών προγραμματισμού. Αυτό οφείλεται στο γεγονός ότι οδηγούν σε πολλαπλές ερμηνείες του ίδιου προγράμματος οι οποίες δυνατόν να οδηγήσουν σε διαφορετικές εκτελέσεις. (β) Υπάρχουν διάφοροι τρόποι για να αποφευχθεί η πολυτροπία στη δοθείσα γραμματική. H πιο κάτω πρόταση ταιριάζει" κάθε else με το πιο εσωτερικό if το οποίο δεν διαθέτει ήδη κάποιο else. Mtched UnMtched Mtched if b then Mtched else Mtched UnMtched if b then if b then Mtched else UnMtched Φροντιστήριο 6 Λύσεις Εαρινό Εξάμηνο 2016 Σελίδα 6 από 6