Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα
|
|
- Ἰαρέδ Κοντολέων
- 9 χρόνια πριν
- Προβολές:
Transcript
1 Ορισµοί Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα { 0, } δυαδικό αλφάβητο { Α, Β, Γ,, Ω } κεφαλαία ελληνικά γράµµατα Κάθε στοιχείο ενός αλφαβήτου Σ ονοµάζεται σύµβολο του αλφαβήτου Γιώργος Μανής Ορισµοί Ορισµοί Συµβολοσειρά: µία πεπερασµένη σειρά από σύµβολα του αλφαβήτου 0000 ΑΒΓΑΑΒΒΓ Οι συµβολοσειρές θα παριστάνονται µε µικρά ελληνικά γράµµατα Η συµβολοσειρά που δεν περιέχει κανένα σύµβολο ονοµάζεται κενή συµβολοσειρά και παριστάνεται µε το σύµβολο ε Μήκος συµβολοσειράς είναι ο αριθµός των συµβόλων που την αποτελούν και συµβολίζεται µε α = ΑΒΒΒΑ = 5 Το σύνολο των συµβολοσειρών µήκους n ενός αλφαβήτου συµβολίζεται µε Σ n Το σύνολο όλων των συµβολοσειρών ενός αλφαβήτου συµβολίζεται µε Σ* (περιλαµβανοµένης της κενής συµβολοσειράς) Σ* είναι η ένωση όλων των Σ n Το σύνολο όλων των συµβολοσειρών ενός αλφαβήτου µη περιλαµβανοµένης της κενής συµβολοσειράς συµβολίζεται µε Σ + Ορισµοί Ορισµοί Παράθεση δύο συµβολοσειρών αβ όλατασύµβολα της α ακολουθούµενααπόόλατασύµβολα της β Παράθεση n φορές α n = ααα α ήπιοαυστηρά: α 0 = { ε }, α n+ = αα n Πρόθεµα: η αονοµάζεται πρόθεµα τηςβεάνόλαταστοιχείατηςα εµφανίζονται µε τη σειρά στην αρχή της β Επίθεµα: η αονοµάζεται επίθεµα τηςβεάνόλαταστοιχείατηςα εµφανίζονται µε τη σειρά στο τέλος της β Υποσυµβολοσειρά: η αονοµάζεται υποσυµβολοσειράτηςβεάνόλατα στοιχεία της α εµφανίζονται µε τη σειρά στο εσωτερικό της β
2 Γλώσσες Γλώσσες Γλώσσα επί αλφάβητου Σ ονοµάζουµε κάθε σύνολο συµβολοσειρών του Σ, δηλαδή κάθε υποσύνολο του Σ*, π.χ. L = { n 2 n n N } L 2 = { } L 3 = { x x: τα έγκυρα προγράµµατα Pscl } Ένωση L L 2 = { α α L ήα L 2 } Παράθεση L L 2 = { αβ α L, β L 2 } Ουδέτερο στοιχείο η γλώσσα { ε } για την οποία L{ε }={ε }L=L Παράθεση µετονεαυτότηςn φορές L 0 = { ε }, L n+ = L L n Κλείσιµο τουkleene = U * n L L n=0 Γραµµατικές Παραγωγή Συµβολοσειρών από Γραµµατική Γραµµατική ονοµάζεται µία ένα σύστηµα παραγωγής συµβολοσειρών G που ορίζεται από µία διατεταγµένη τετράδα της µορφής (T,N,P,S) όπου: Τ: αλφάβητο τερµατικών συµβόλων Ν: αλφάβητο µη τερµατικών συµβόλων T N = P: πεπερασµένο σύνολο κανόνων παραγωγής P ( T N ) * x ( T N ) * συµβολισµός: α -> β S: αρχικό σύµβολο Γιαναπαράξουµε όλες τις σειρές που µπορεί να παράξει µία γραµµατική εφαρµόζουµε τον παρακάτω αλγόριθµο. Στον αλγόριθµο αυτόν χρειαζόµαστε τρία σύνολα ένα σύνολο Α περιέχει τις συµβολοσειρές που πρέπει ακόµα ναελεγχθούν. Αρχικά περιέχει µόνο το αρχικό σύµβολο της γραµµατικής ένα σύνολο Χ περιέχει τις συµβολοσειρές που παρήχθησαν από τη γραµµατική και αρχικά είναι κενό ένα σύνολο περιέχει τις συµβολοσειρές που έχουν ήδη ελεγχθεί και αρχικά είναι κενό Παραγωγή Συµβολοσειρών από Γραµµατική Τυπικές Γλώσσες αφαιρούµε µία συµβολοσειρά από το Α και τη διαπερνούµε από αριστερά προς τα δεξιά ψάχνοντας για υποσυµβολοσειρές που ταιριάζουν µε το αριστερό µέλος κάποιου γραµµατικού κανόνα για κάθε τέτοια υποσυµβολοσειρά που βρίσκουµε δηµιουργούµε καιένα αντίγραφο της συµβολοσειράς εισόδου και αντικαθιστούµε την υποσυµβολοσειρά που βρίσκουµε στο αριστερό µέλος του κανόνα µε αυτό που βρίσκεται στο δεξιό µέλος του κανόνα αν η συµβολοσειρά που παράχθηκε δεν περιέχει µη τερµατικά σύµβολα τότε την τοποθετούµε στο σύνολο που περιέχει τις συµβολοσειρές που παράχθηκαν αν η συµβολοσειρά που παράχθηκε περιέχει µη τερµατικά σύµβολα τότε αν δεν ανήκει στο την τοποθετούµε στο και το Α όσο το Α δεν είναι κενό εκτελούµε τα τέσσερα προηγούµενα βήµατα Κάθε γραµµατική G=(T,N,P,S) ορίζει µία γλώσσα L(G) T * Λέµε ότιηγραµµατική παράγει τη γλώσσα και ορίζεται ως L(G) = { α T * S + α } το σύµβολο + σηµαίνει ότι η συµβολοσειρά παράγεται σε ένα ή περισσότερα βήµατα παραγωγή σε µηδέν βήµατα α βσηµαίνει α=β Μία γλώσσα λέγεται τυπική όταν υπάρχει γραµµατική που την παράγει 2
3 Ιεραρχία Chomsky Γραµµατικές χωρίς Περιορισµούς Γραµµατικές Γραµµατικές Χωρίς Περιορισµούς Γραµµατικές Με Συµφραζόµενα Γραµµατικές χωρίς περιορισµούς τύπου 0 προτασιακής σύνταξης κανόνες της µορφής σ -> τ σ V +, V = T N τ V * Γραµµατικές Χωρίς Συµφραζόµενα Κανονικές Γραµµατικές Γραµµατικές µε Συµφραζόµενα Γραµµατικές µε Συµφραζόµενα Γραµµατικές µε συµφραζόµενα τύπου κανόνες της µορφής ααβ -> αxβ Α Ν x V + α,β V * κατ εξαίρεση: επιτρέπεται το S -> ε ώστε να παράγεται η κενή συµβολοσειρά αρκεί το S να µην υπάρχει σε δεξί µέλος κανόνα Ισοδύναµη µορφή γραµµατικών µε συµφραζόµενα, καλούνται µονότονες γραµµατικές κανόνες της µορφής α -> β α,β V + η α περιέχει τουλάχιστόν ένα µη τερµατικό σύµβολο α β κατ εξαίρεση: επιτρέπεται το S -> ε ώστε να παράγεται η κενή συµβολοσειρά αρκεί το S να υπάρχει µόνο σε δεξί µέλος κανόνα Γραµµατικές µε Συµφραζόµενα Γραµµατικές µε Συµφραζόµενα - Παράδειγµα θα κατασκευάσουµε γραµµατική για τη γλώσσα: α n n c n αρχίζοντας από την απλή περίπτωση S -> c αν προσθέσουµε ένα στην αρχή θα πρέπει να προσθέσουµε κάτι και στο τέλος S -> SQ στο τέλος πρέπει να υπάρχει κάτι µε και c αλλά όχι απλά να προσθέσουµε c αφού όλα τα πρέπει να βρίσκονται πριν τα c κάτι τέτοιο επιτρέπει το να είναι πάντα πριν το c Qc -> cc πάλι δεν τελειώσαµε αφού τα Q βρίσκονται δεξιά από τα c, αυτό µπορεί να διορθωθεί µε τον κανόνα cq -> Qc S ::= ssignments ssignments ::= ssign ; ssignments ssignments ::=. \%vrile is set ssign ::= x := exp (setx) ssign ::= y := exp (sety) \% rules for n expression exp ::= [exp] exp ::= exp op exp 3
4 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα Γραµµατικές µε Συµφραζόµενα - Παράδειγµα \% mrks cn move t the end (setx) ; ::= ; (setx) (sety) ; ::= ; (sety) (setx) exp ::= exp (setx) (sety) exp ::= exp (sety) (setx) op ::= op (setx) (sety) op ::= op( sety) (setx) [ ::= [ (setx) (sety) [ ::= [ (sety) (setx) ] ::= ] (setx) (sety) ] ::= ] (sety) (setx) y ::= y (setx) (sety) x ::= x (sety) (setx) x ::= x (setx) (sety) y ::= y (sety) (setx) num ::= num (setx) (sety) num ::= num (sety) (setx) := ::= := (setx) (sety) := ::= := (sety) Γραµµατικές µε Συµφραζόµενα - Παράδειγµα Γραµµατικές µε Συµφραζόµενα - Παράδειγµα \% mrks cn chnge positions (setx) (sety) ::= (sety) (setx) (sety) (setx) ::= (setx) (sety) \% mrks cn move fter the dot (setx). (sety). \%use vrile, move t the end exp (setx) ::= x (setx) exp (sety) ::= y (sety) \% terminl symols exp ::= num op ::= + - * / Γραµµατικές χωρίς Συµφραζόµενα Κανονικές Γραµµατικές Γραµµατικές χωρίς συµφραζόµενα - τύπου 2 κανόνες της µορφής Α -> α Α Ν α V * Παράδειγµα <nme> ::= tom john hrry <sentence> ::= nme <list> nd <nme> <list> ::= <nme>, <list> nme Κανονικές γραµµατικές τύπου 3 γραµµατικές πεπερασµένων καταστάσεων κανόνες της µορφής Α -> α Α -> ββ Α,Β Ν α Τ {ε} β Τ 4
5 Κανονικές Γραµµατικές Γραµµατικές Πεπερασµένων Επιλογών Παράδειγµα S -> A A -> A A -> d A A -> ε Γραµµατικές πεπερασµένων επιλογών ή τύπου 4 κανόνες της µορφής Α -> α Α Ν α Τ {ε} Παραγωγή: σειρές από α και d που ξεκινούν υποχρεωτικά από α Αναγνωριστές Μηχανή Turing Μηχανές Πεπερασµένα αυτόµατα Αυτόµατα Στοίβας Γραµµικά Περιορισµένες Μηχανές Turing Μηχανή Turing διαθέτει µία ταινία άπειρου µήκους διαθέτει µία κεφαλή ανάγνωσης-εγγραφής που µπορείνακινείταιστην ταινία σε διακριτές θέσεις στην ταινία µπορούν να γράφονται σύµβολα που ανήκουν σε ένα πεπερασµένο αλφάβητο κάθε στιγµή η µηχανή βρίσκεται σε µία κατάσταση που ανήκει σε ένα πεπερασµένο σύνολο καταστάσεων αρχικά η µηχανή βρίσκεται σε κάποια αρχική κατάσταση, η ταινία περιέχει µία συµβολοσειρά και η κεφαλή βρίσκεται στην αρχή της συµβολοσειράς Μηχανή Turing Άλλοι Αναγνωριστές ανάλογα µε το χαρακτήρα στην κεφαλή της ταινίας και την τρέχουσα κατάσταση η µηχανή µεταφέρεται σε µία νέα κατάσταση ή τερµατίζει ένας νεός χαρακτήρας γράφεται στη θέση που βρίσκεται η κεφαλή η κεφαλή κινείται αριστερά ή δεξιά ή παραµένει στάσιµη Γραµµικά Περιορισµένη Μηχανή Turing: είναι µία µηχανή Turing της οποίας η ταινία έχει µήκος Ο(n) όπου n το µήκος της συµβολοσειράς εισόδου αυτόµατο στοίβας η µηχανή Turing µπορεί να υπολογίσει ο,τιδήποτε είναι υπολογίσιµο πεπερασµένο αυτόµατο 5
6 Κανονικές Εκφράσεις Κανονικές Εκφράσεις Παραδοσιακά χρησιµοποιούνται για την περιγραφή των λεκτικών µονάδων µιας γλώσσας προγραµµατισµού Κάθε κανονική έκφαση r ορίζει µία γλώσσα L(r) Έστω ένα αλφάβητο Σ ηκενήσυµβολοσειρά είναι µία κανονική έκφραση L(ε)={ε} κάθε σύµβολο α του Σ είναι µία κανονική έκφραση L(α)={α} αν r και s κανονικές εκφράσεις τοτε η (rs) είναι κανονική έκφραση και αντιστοιχεί στην παράθεση των r και s, δηλ. L(rs)=L(r)L(s) αν r και s κανονικές εκφράσεις τοτε η (r s) είναι κανονική έκφραση και αντιστοιχεί στην διάζευξη των r και s, δηλ. L(r s)=l(r)ul(s) αν r κανονική έκφραση τοτε η (r*) είναι κανονική έκφραση και αντιστοιχεί στο κλείσιµο Kleene της r, δηλ. L(r*)=L(r)* Συντοµογραφίες οι παρενθέσεις συνήθως παραλείπονται. Μεγαλύτερη προτεραιότητα έχει ο τελεστής * µετά της παράθεσης και µετά της διάζευξης οσυµβολισµός r + χρησιµοποιείται για το θετικό κλείσιµο τουkleene, δηλαδή r + = rr* οσυµβολισµός [,,c,d] χρησιµοποιείται αντί του α c d οσυµβολισµός r? χρησιµοποιείται για να δείξει ότι η έκφραση είναι προαιρετική η τελεία χρησιµοποιείται για να παραστήσει κάποιο σύµβολο του αλφαβήτου το σύµβολο / υποδηλώνει ότι ο επόµενος χαρακτήρας που ακολουθεί είναι σύµβολο του αλφαβήτου και όχι κάποιος ειδικός χαρακτήρας. π.χ. η έκφραση /( /) µας περιγράφει την συµβολοσειρά ( ) Κανονικές Εκφράσεις Ντετερµινιστικά Πεπερασµένα Αυτόµατα Παράδειγµα [-9][0-9]* 0] (/.[0-9] + )? ((E e)(+ -)?[0-9] + )? περιγράφει τις σταθερές κινητής υποδιαστολής χωρίς πρόσηµο της γλώσσας C Ένα ντετερµινιστικό πεπερασµένο αυτόµατο είναι µία διατεταγµένη πεντάδα M=(A,Q,δ,q 0,F) όπου Ατοαλφάβητοτουαυτοµάτου Q ένα µη κενό πεπερασµένο σύνολο καταστάσεων δ: Q x A -> Q ησυνάρτησηµετάβασης q 0 єq η αρχική κατάσταση F Q οι τελικές καταστάσεις Ντετερµινιστικά Πεπερασµένα Αυτόµατα Πεπερασµένα Αυτόµατα ντετερµινιστικά περασµένα αυτόµατα (ΝΠΑ) Αρχικά το αυτόµατο βρίσκεται στην κατάσταση q o από τη συµβολοσειρά εισόδου διαβάζεται ένα σύµβολο κάθε φορά αν το αυτόµατο βρίσκεται στην κατάσταση q και διαβαστεί το σύµβολο α τότε το αυτόµατο µεταβαίνει στην κατάσταση δ(q,α) η διαδικασία συνεχίζεται µέχρι να εξαντληθεί η συµβολοσειρά είσόδου τότε, αν η κατάσταση στην οποία έχει µεταβεί το αυτόµατο είναι µία από τις καταστάσεις του συνόλου F η συµβολοσειρά έχει αναγνωριστεί επιτυχώς, αλλιώς οδηγούµαστε σε αποτυχία µη ντετερµινιστικά περασµένα αυτόµατα (ΜΠΑ) ορίζεται όπως ένα ΝΠΑ µόνο που η συνάρτηση µετάβασης δ δεν επιστρέφει µόνο µία κατάσταση αλλά ένα σύνολο πιθανών επόµενων καταστάσεων µη ντετερµινιστικά περασµένα αυτόµατα µε µηδενικές µεταβάσεις (ΜΠΑ) ορίζεται όπως ένα ΜΠΑ µε τη διαφορά ότι επιτρέπονται µεταβάσεις από κατάσταση σε κατάσταση χωρίς να διαβαστεί χαρακτήρες από τη συµβολοσειρά είσόδου Τα τρία αυτά ήδη αυτοµάτων είναι ισοδύναµα µεταξύ τους 6
7 Παράδειγµα Μετατροπής ΜΠΑ σε ΝΠΑ Παράδειγµα Μετατροπής ΜΠΑ σε ΝΠΑ 0/ 0, eof ok 0 0/ {} {} 0 {} {} {} eof ok {} {} {} ok ΜΠΑ σε Πίνακα Μετάβασης ΝΠΑ σε Πίνακα Μετάβασης 0/ 0 0/ 0 eof 0 eof, ok ok ok Γραµµατικές χωρίς Συµφραζόµενα Γραµµατικές χωρίς Συµφραζόµενα Τα αριστερά µέλη των κανόνων αποτελούνται από ένα µη τερµατικό σύµβολο σε κάθε βήµα αντικαθίσταται ένα µη τερµατικό σύµβολο αν υπάρχουν περισσότερα από ένα µη τερµατικά σύµβολα που είναι δυνατόν να αντικατασταθούν τότε αντικαθίσταται οποιδήποτε από αυτά έτσι µία συµβολοσειρά που παράγεται από µία γραµµατική µπορεί να έχει περισσότερες από µία παραγωγές αυτό είναι ανεπιθύµητο και το αποφεύγουµε ονοµάζουµε αριστερότερη παραγωγή µιας συµβολοσειράς την παραγωγή εκείνη στην οποία σε κάθε βήµα αντικαθίσταται το αριστερότερο µη τερµατικό σύµβολο. Συµβολίζεται ως εξής: α L β ονοµάζουµε δεξιότερη παραγωγή µιας συµβολοσειράς την παραγωγή εκείνη στην οποία σε κάθε βήµα αντικαθίσταται το δεξιότερο µη τερµατικό σύµβολο. Συµβολίζεται ως εξής: α R β 7
8 Συντακτικό έντρο Συντακτικό έντρο Η ρίζα του δέντρου περιέχει το αρχικό µη τερµατικό σύµβολο κάθε κόµβος του δέντρου που δεν είναι φύλλο περιέχει ένα µη τερµατικό σύµβολο της γραµµατικής κάθε φύλλο του δέντρου περιέχει ένα τερµατικό σύµβολο της γραµµατικής οι απόγονοι κάθε κόµβου του δέντρου που δεν είναι φύλλο υπακούουν στους κανόνες της γραµµατικής S -> ABc A -> A A-> csb B -> B B -> S -> ε S A B c A c S B ε Γραµµατική Tύπου LL() Γραµµατική Tύπου LL() L: Left to right - αναφέρεται στον τρόπο που σαρώνεται η συµβολοσειρά εισόδου, απότααριστεράσταδεξιά L: Left most derivtion η διαδικασία κατασκευής του συντακτικού δέντρου αντιστοιχεί στην αριστερότερη παραγωγή (): one look hed symol γιαναεπιλέξουµε ανάµεσα σε πιθανούς κανόνες ποιος είναι ο επόµενος κανόνας που πρέπει να εφαρµοσθεί αρκεί να γνωρίζουµετοεπόµενο σύµβολο της συµβολοσειράς εισόδου Παράδειγµα γραµµατικής τύπου LL() Ε -> ΤΕ Ε -> +ΤΕ ε Τ -> FT T -> x FT ε F -> (E) id id -> c d Παραγωγή: (+xc+x(+c))xd Ισοδύναµες Γραµµατικές ιφορούµενες Γραµµατικές ύο γραµµατικές είναι ισοδύναµες όταν παράγουν την ίδια γλώσσα Το πρόβληµα αν δύο γραµµατικές είναι ισοδύναµο είναι µη υπολογίσιµο Μία γράµµατική λέγεται διφορούµενη αν υπάρχουν δύο ή περισσότερα συντακτικά δέντρα για την ίδια παραγόµενη συµβολοσειρά Στην παρακάτω γραµµατική το else δεν µπορεί να αποφασιστεί σε πιο if ανήκει stmt -> if cond stmt else stmt if cond stmt s s2 cond -> c c2 Οι διφορούµενες γραµµατικές πρέπει να αποφεύγονται στην κατασκευή των µεταγλωττιστών 8
9 Αυτόµατα Στοίβας Αυτόµατα Στοίβας Ένα αυτόµατο στοίβας είναι µία διατεταγµένη επτάδα M=(A,Q,Η,δ, q 0, h 0,F) όπου Ατοαλφάβητοτηςσυµβολοσειράς εισόδου Q ένα µη κενό πεπερασµένο σύνολο καταστάσεων Ητοαλφάβητοτηςστοίβας δ: Q x Η x (A U {ε}) -> Ρ(Η* x Q) ησυνάρτησηµετάβασης q 0 є Q η αρχική κατάσταση h 0 є H το αρχικό σύµβολο της στοίβας F Q οι τελικές καταστάσεις αρχικά το αυτόµατο βρίσκεται στην κατάσταση q 0 και στη στοίβα βρίσκεται το σύµβολο h 0 στη συνέχεια και ανάλογα µε την τρέχουσα κατάσταση q το σύµβολο h που υπάρχει στην κορυφή της στοίβας, το αυτόµατο αφαιρεί το h από τη στοίβα και ακολουθεί έναν από τους εξής δρόµους: αν το τρέχον σύµβολο της συµβολοσειράς εισόδου είναι το α και το σύνολο κινήσεων δ(q,h,) δεν είναι κενό τότε επιλέγεται µίακίνησηαπόαυτότο σύνολο και εκτελείται. Στην περίπτωση αυτή λέµε ότι το αυτόµατο πραγµατοποιεί µετάβαση ανάγνωσης και το α καταναλώνεται αν το σύνολο κινήσεων δ(q,h,ε) δεν είναι κενό τότε επιλέγεται µία κίνηση απόαυτότοσύνολοκαιεκτελείται. Στην περίπτωση αυτή λέµε ότι το αυτόµατο πραγµατοποιεί ε-µετάβαση ανάγνωσης και δεν καταναλώνεται κάποιο σύµβολο από τη συµβολοσειρά εισόδου Αυτόµατα Στοίβας Αυτόµατα Στοίβας µία εκτέλεση ενός αυτοµάτου στοίβας αναγνωρίζει τη συµβολοσειρά εισόδου αν µετά το τέλος της εκτέλεσης έχει εξαντληθεί η συµβολοσειρά εισόδου και η τρέχουσα κατάσταση ανήκει στο σύνολο F των τελικών καταστάσεων µία εκτέλεση ενός αυτοµάτου στοίβας δεν αναγνωρίζει τη συµβολοσειρά εισόδου αν: έχει εξαντληθεί η συµβολοσειρά εισόδου και η τρέχουσα κατάσταση δεν ανήκει στο σύνολο F των τελικών καταστάσεων δεν έχει εξαντληθεί η συµβολοσειρά εισόδου και η στοίβα είναι άδεια η αφαίρεση του συµβόλου h από την κορυφή της στοίβας η οποία και γίνεται αυτόµατα σε κάθε βήµα τηςεκτέλεσηςσυµβολίζεται µε pop η προσθήκη συµβόλων στη στοίβα συµβολίζεται µε push η µετάβαση στην κατάσταση q συµβολίζεται µε move(q ) µία ακολουθία της µορφής pop, push(hc) απλοποιείται σε push(c) η push(ε) παραλείπεται η move(q) παραλείπεται αν η τρέχουσα κατάσταση είναι η q δεν έχει εξαντληθεί η συµβολοσειρά εισόδου και δεν υπάρχει δυνατή µετάβαση Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης Α = { [, ]} η πρώτη γραµµή περιέχει το αλφάβητο της στοίβας επαυξηµένο µε το σύµβολο ~ ηπρώτηστήλητοσύνολοτωνκαταστάσεων το αρχικό σύµβολο της στοίβας και η αρχική κατάσταση εµφανίζονται πρώτα στη σειρά οσυµβολισµός red() αντιστοιχεί σε µετάβαση ανάγνωσης του α οσυµβολισµός keep αντιστοιχεί σε ε-µετάβαση Q = { S, T } H = { X, I } δ = δ( S,X,[ ) = { (XI, S) } δ( S, I, [ ) = { (II, S) } δ( S, X, ε ) = { (Χ, Τ) } δ( S, I, ] ) = { (ε, S) } q 0 = S h 0 = X F = { T } 9
10 Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης Είδη Αυτοµάτων Στοίβας πραγµατικού χρόνου: αν δεν έχει ε-µεταβάσεις S X I red( [ ) push(i) red( [ ) push(i) keep move(t) red( ] ) pop ~ ντετερµινιστικό: για µία δεδοµένη συµβολοσειρά εισόδου µπορεί να ακολουθήσει µία και µοναδική εκτέλεση T OK µη-ντετερµινιστικό: για µία δεδοµένη συµβολοσειρά εισόδου µπορεί να ακολουθήσει περισσότερες από µία εκτελέσεις Ισοδυναµία Γλωσσών, Γραµµατικών, Μηχανών Κατηγορικές Γραµµατικές Γλώσσες Γραµµατικές Μηχανές Κανονικές Γλώσσες Κανονικές Γραµµατικές Πεπερασµένα αυτόµατα µία κατηγορική γραµµατική ορίζεται σαν µία διατεταγµένη τριάδα Κ=(G,V,F) όπου G=(T,N,P,S) µία γραµµατική χωρίς συµφραζόµενα Γλώσσες Χωρίς Συµφραζόµενα Γραµµατικές Χωρίς Συµφραζόµενα Αυτόµατα Στοίβας V ένα πεπερασµένοσύνολοσυµβόλων που ονοµάζονται κατηγορήµατα F ένα σύνολο δηλώσεων Γλώσσες Με Συµφραζόµενα Γραµµατικές Με Συµφραζόµενα Γραµµικά Περιορισµένες Μηχανές Turing Υπολογίσιµες γλώσσες Γραµµατικές χωρίς περιορισµούς Μηχανή Turing Κατηγορικές Γραµµατικές Κατηγορικές Γραµµατικές κάθε κατηγόρηµα αντιστοιχεί σε ένα µοναδικό τερµατικό ή µη τερµατικό σύνολο το σύνολο των κατηγορηµάτων που αντιστοιχούν σε ένα τερµατικό ή µη τερµατικό σύµβολο είναι συγκεκριµένο καθώς και ο τύπος των τιµών που µπορεί να πάρει οι τιµές όµως αυτές είναι διαφορετικές για κάθε εµφάνιση ενός συµβόλου σε ένα συντακτικό δέντρο ένα κατηγόρηµα ονοµάζεται συνθετικό αν η τιµή του σε ένα κόµβο του συντακτικού δέντρου υπολογίζεται από τις τιµές άλλων κατηγορηµάτων που ανήκουν στους άµεσους απόγονούς του κόµβου αυτού ένα κατηγόρηµα ονοµάζεται κληρονοµούµενο αν η τιµή του σε ένα κόµβο του συντακτικού δέντρου υπολογίζεται από τις τιµές άλλων κατηγορηµάτων που ανήκουν στόν γονέα ή τα αδέρφια του κόµβου αυτού το σύνολο των δηλώσεων καθορίζει τον τρόπο που θα συνδυαστούν κάποια κατηγορήµατα για να πάρουν άλλα κατηγορήµατα Το υποσύνολο των δηλώσεων που αντιστοιχεί σε ένα κανόνα ονοµάζεται σηµασιολογικός κανόνας 0
11 Κατηγορικές Γραµµατικές Κατηγορικές Γραµµατικές και Μεταφραστές E -> E + T { E.vl = E 2.vl + T.vl } E -> T { E.vl = T.vl } T -> T * F { T.vl = T 2.vl + F.vl } T -> F { T.vl = F.vl } F -> ( E ) { F.vl = E.vl } F -> num { F.vl = num.vl } η προηγούµενη γραµµατική είχε µόνο συνθετικά κατηγορήµατα τέτοιες γραµµατικές καλούνται S-κατηγορικές γραµµατικές οι γραµµατικές αυτές είναι πολύ ευκολότερο να χρησιµοποιηθούν στους µεταγλωττιστές χρησιµοποιούνται αποκλειστικά αυτές οι γραµµατικές συνήθως στους µεταγλωττιστές χρησιµοποιείται µία γενικότερη µορφή σηµασιολογικών κανόνων που εκτός από τον υπολογισµό τωντιµών των κατηγορηµάτων εκτελούν και κώδικα (π.χ. ενηµερώνουν τον πίνακα συµβόλων, εµφανίζουν µηνύµατα σφάλµατος κλπ.). Οι κανόνες αυτοί ονοµάζονται σηµασιολογικές ρουτίνες. Κατηγορικές Γραµµατικές και Μεταφραστές Ένα πιο Σύνθετο Παράδειγµα µπορούν να εκφράζουν σηµασιολογικούς κανόνες των γλωσσών προγραµµατισµού περιγράφουν µία απεικόνιση µιας γλώσσας που περιγράφεται από µία γραµµατική χωρίς συµφραζόµενα σε κάποια ισοδύναµη διαφορετική της µορφή η µορφή τους είναι εκτελέσιµη. Μπορεί δηλαδή να κατασκευαστεί αυτόµατα ένα πρόγραµµα το οποίο να κάνει ό,τι η κατηγορική γραµµατική περιγράφει γενικά µπορούν να χρησιµοποιηθούν για περιγραφή υπολογιστικών διαδικασιών καθοδηγούµενες από τη σύνταξη υπολογισµός ενός δεκαδικού αριθµού εκφρασµένου σε δυαδική µορφή ηακόλουθηγραµµατική χωρίς συµφραζόµενα περιγράφει έναν δυαδικό αριθµό µε τερµατικά σύµβολα τα 0, και. p: Z::=L p2: Z::=L.L p3: L::=LB p4: L::=B p5: B::= p6: B::=0 Το Κατηγόρηµα v Σηµασιολογικοί Κανόνες για το v κατηγόρηµα v (vlue): η δεκαδική τιµή της υποσυµβολοσειράς που αναγνωρίζεται από ένα µη τερµατικό σύµβολο. Είναι πραγµατικός αριθµός και αφορά τα µη τερµατικά σύµβολα Z, L, B p: Z::=L p2: Z::=L.L p3: L::=LB p4: L::=B p5: B::= p6: B::=0 p: Z::=L Z.v = L.v p2: Z::=L.L 2 Z.v = L.ν + L 2.v p3: L 0 ::=L B L o.v = L.v + B.v p4: L::=B L.v = B.v p5: B::= B.v = 2 B.s p6: B::=0 B.v = 0
12 Το Κατηγόρηµα s Σηµασιολογικοί Κανόνες για το s αναπαριστά τη θέση του ψηφίουστοναριθµό πρέπει να είναι µηδέν αµέσως αριστερά από την τελεία, ένα για το αµέσως αριστερά ψηφίο, δύο για το επόµενο κ.ο.κ αντίστοιχα πρέπει να είναι - για το ψηφίο αµέσως δεξιά από την τελεία, -2 για το πιο δεξία, κ.ο.κ το πρόβληµα µετατίθεται στη σωστή εκχώρηση τιµής στο s Bήµα p: Z::=L p2: Z::=L.L 2 p3: L 0 ::=L B B.s = L 0.s L.s = L 0 s + p4: L::=B B.s = L.s p5: B::= p6: B::=0 Σηµασιολογικοί Κανόνες για το s Σηµασιολογικοί Κανόνες για το s Bήµα 2 p: Z::=L L.s = 0 p2: Z::=L.L 2 L.s =0 p3: L 0 ::=L B B.s = L 0.s L.s = L 0 s + p4: L::=B B.s = L.s p5: B::= p6: B::=0 Bήµα 3 p: Z::=L L.s = 0 p2: Z::=L.L 2 L.s =0 L 2.s=-L 2.l p3: L 0 ::=L B B.s = L 0.s L.s = L 0 s + p4: L::=B B.s = L.s p5: B::= p6: B::=0 Το Κατηγόρηµα l Σηµασιολογικοί Κανόνες για το l αναπαριστά το µήκος της συµβολοσειράς του κατηγορήµατος χρησιµοποιείται για να δώσει τιµή στο κατηγόρηµα s p: Z::=L p2: Z::=L.L 2 L 2.s = -L 2.l p3: L 0 ::=L B L o.l = L.l + p4: L::=B L.l = p5: B::= p6: B::=0 2
13 Η Πλήρης Κατηγορική Γραµµατική Ένα Παράδειγµα Εκτέλεσης Γραµµατικές Ενεργοποίησης Ένα Παράδειγµα υποπερίπτωση των κατηγορικών γραµµατικών αποδεικνύεται ότι ό,τι µπορεί να περιγράψει µία γραµµατική ενεργοποίησης περιγράφεται και από µία κατηγορική γραµµατική κώδικας ενεργοποιείται καθώς αναγνωρίζεται η συµβολοσειρά εισόδου p: S ::= Z. D p2: Z ::= n B p3: Z ::= ε p4: D ::= n D p5: D ::= ε Ένα Παράδειγµα υναµικότητα Γραµµατικών και Μεταφραστές int vlue,dlen; p: S ::= vlue=0; dlen=0; Z. D p2: Z ::= n vlue=vlue*0+n B p3: Z ::= ε p4: D ::= n dlen++; vlue=vlue+n/0 dlen ; D p5: D ::= ε Το σύνολο όλων των λεκτικά ορθών προγραµµάτων µπορεί να περιγραφεί από µία κανονική γραµµατική δεν υπάρχουν λευκοί χαρακτήρες ανάµεσα σε δεσµευµένες λέξεις δε συναντάµε end-of-file ενώ έχουν ανοίξει σχόλια και δεν έχουν κλείσει τα αναγνωριστικά ξεκινούν από γράµµα καιακολουθείµία σειρά γραµµάτων και αριθµών κλπ 3
14 υναµικότητα Γραµµατικών και Μεταφραστές υναµικότητα Γραµµατικών και Μεταφραστές Το σύνολο των συντακτικά ορθών προγραµµάτων περιγράφεται από µία γραµµατική χωρίς συµφραζόµενα βρέθηκε else χωρίς if εκχώρηση σε αριθµητική σταθερά κλπ. Το σύνολο των σηµασιολογικά ορθών προγραµµάτων περιγράφεται από µία γραµµατική µε συµφραζόµενα η µεταβλητή αυτή έχει δηλωθεί; πρόκειται για απλή µεταβλητή ή πίνακα; γράφουµε µήπως έξω από τα όρια ενός πίνακα; Το σύνολο των προγραµµάτων που τερµατίζουν σε πεπερασµένο χρόνο µε συγκεκριµένη είσοδο µπορεί να περιγραφεί από µία (πολύ πολύπλοκη) γραµµατική χωρίς περιορισµούς Το σύνολο των προγραµµάτων που λύνουν ένα συγκεκριµένο πρόβληµα δε µπορεί να περιγραφεί από καµία γραµµατική 4
Κατηγορικές Γραµµατικές
Κατηγορικές Γραµµατικές Γραµµατικές Χωρίς περιορισµούς Με συµφραζόµενα Χωρίς συµφραζόµενα Κανονικές Πεπερασµένων επιλογών Κατηγορικές Ενεργοποίησης Γραµµατικές G = { T, N, P, S } Τ: αλφάβητο τερµατικών
Τυπικές Γλώσσες. και Μεταφραστές. Γιώργος Μανής
Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές Γιώργος Μανής Ορισµοί Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένοσύνολοσ αποτελούµενο από σύµβολα { 0, 1 } δυαδικό αλφάβητο { Α, Β, Γ,, Ω } κεφαλαία ελληνικά
Μεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 2 ο Αλφάβητα και Γλώσσες Αλφάβητο: Ένα μη κενό και πεπερασμένο σύνολο συμβόλων Γλώσσα: Ένα οποιοδήποτε υποσύνολο των συμβολοσειρών ενός αλφαβήτου (οι προτάσεις της γλώσσας, πχ.
Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216
Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών
Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.
Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 05 & 06 25 & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 14: Γραμματικές Χωρίς Συμφραζόμενα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις
Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού
Μεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Κεφάλαιο 2: Τυπικές γλώσσες
Κεφάλαιο 2: Τυπικές γλώσσες (μέρος 2ο) Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 47 / 216 Γλώσσες χωρίς συμφραζόμενα (i) Γραμματικές χωρίς συμφραζόμενα: Σε κάθε παραγωγή ένα μη τερματικό
Απάντηση: (func endfunc)-([a-za-z])+
Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο
Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ
Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 09 18 /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες Πίνακας
ΜΑΘΗΜΑ: Μεταγλωττιστές
Comment [h1]: Παράδειγμ α: https://ocp.teiath.gr/modules/ exercise/exercise_result.php?course=pey101&eurid=16 9 ΜΑΘΗΜΑ: Μεταγλωττιστές ΔΙΔΑΣΚΩΝ: Άγγελος Μιχάλας ΤΜΗΜΑ: Τμήμα Μηχανικών Πληροφορικής ΤΕ 1
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές
Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.
Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό
Μεταγλωττιστές. Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 4: Τυπικές γλώσσες (Μέρος 3 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Γραµµατικές για Κανονικές Γλώσσες
Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές
Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές
Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /
Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);
Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες
Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:
Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την
Βοηθητικές έννοιες (i) Σύνολα FIRST Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Αν a τότε a FIRST Αν τότε FIRST Νίκος Παπασπύρου,
num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))
Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 3 ο Λεκτική Ανάλυση και Λεκτικοί Αναλυτές Γενικά για τη λεκτική ανάλυση Έννοιες που χρειαζόμαστε Τεχνικές λεκτικής ανάλυσης Πίνακας συμβόλων και διαχείριση λαθών Σχεδίαση λεκτικού
ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων
ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 2 Ο Εργαστηριακό Μάθημα Λεξική Ανάλυση Σκοπός: Το μάθημα αυτό αναφέρεται: Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση Στη δήλωση ορισμό κανονικών εκφράσεων Θεωρία Πρόλογος
Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.
Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016
Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing
Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές
Γλώσσες Χωρίς Συμφραζόμενα
Γλώσσα χωρίς Συμφραζόμενα Γλώσσες Χωρίς Συμφραζόμενα Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση II
Γλώσσες Προγραμματισμού Μεταγλωττιστές Συντακτική Ανάλυση II Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Εισαγωγή στην ανάλυση από κάτω προς τα πάνω. Οι έννοιες της ελάττωσης
Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις
Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Κανονικές Γλώσσες ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Κανονικές Γλώσσες Κανονική γλώσσα αν
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 5: Μη κανονικές γλώσσες Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:
Θέματα Μεταγλωττιστών
Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και
Μεταγλωττιστές. Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 8: Συντακτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.
Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel
Θεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 5 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 5 ο ΣΑ από Κάτω προς τα Πάνω Ξεκίνημα με την πρώτη λεκτική μονάδα Διάβασε διαδοχικές λεκτικές μονάδες αντικαθιστώντας το δεξί μέλος κάποιου κανόνα που έχει σχηματιστεί με το αριστερό
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας
Θέματα Μεταγλωττιστών
Γιώργος Δημητρίου Ενότητα 1 η : Parsers Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται με βάση διάφορα κριτήρια: Κατεύθυνση ανάλυσης μη τερματικών συμβόλων Σειρά επιλογής
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής
Γιώργος Δημητρίου Μάθημα 4 ο Συντακτική Ανάλυση Επαλήθευση της σύνταξης του προγράμματος Κατασκευή συντακτικού δέντρου Η κεντρική φάση της Μετάφρασης Οδηγούμενης από τη Σύνταξη Από εδώ ξεκινά η παραγωγή
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως
Σειρά Προβλημάτων 1 Λύσεις
Σειρά Προβλημάτων Λύσεις Άσκηση Ορίζουμε τη συναρμογή δύο γλωσσών Α και Β ως ΑΒ = { uv u A, v B }. (α) Έστω Α = {α,β,γ} και Β =. Να περιγράψετε τη γλώσσα ΑΒ. (β) Θεωρήστε τις γλώσσες L, M και N. Να δείξετε
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 5: Κανονικές Εκφράσεις
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 5: Κανονικές Εκφράσεις Τι θα κάνουμε σήμερα Κλειστότητα Κανονικών Πράξεων (1.2.3) Εισαγωγή στις Κανονικές Εκφράσεις Τυπικός ορισμός της κανονικής
Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.
Θεωρία Υπολογισμού νότητα 15: Συντακτικά Δέντρα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να
Θεωρία Υπολογισμού και Πολυπλοκότητα
Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Κατηγορηματικές Γραμματικές 27,2 Φεβρουαρίου, 9 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Κατηγορηματικές Γραμματικές Ή Γραμματικές Χωρίς Συμφραζόμενα Παράδειγμα.
Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις
Μοντελοποίηση Υπολογισμού Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Προβλήματα - Υπολογιστές Δεδομένου ενός προβλήματος υπάρχουν 2 σημαντικά ερωτήματα: Μπορεί να επιλυθεί με χρήση υπολογιστή;
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
CSC 314: Switching Theory
CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2
ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης
ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ Μάθηµα 3.2: Ντετερµινιστικά Πεπερασµένα Αυτόµατα ηµήτρης Ψούνης 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β. Θεωρία 1. Πεπερασµένα Αυτόµατα 1. Λειτουργία και Παραδείγµατα
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 9: Αυτόματα Στοίβας (Pushdown Automata - PDA) Τι θα κάνουμε σήμερα Εισαγωγή στα Αυτόματα Στοίβας Τυπικός Ορισμός Αυτομάτου Στοίβας (2.2.1) Παραδείγματα
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα
Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα
Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο
Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις
aab aabb aaabb aaaabb aaaabb aaaabb
Κεφάλαιο 4 Γλώσσες & Γραμματικές Χωρίς Συμφραζόμενα Σύνοψη Η κλάση των Γλωσσών Χωρίς Συμφραζόμενα (ΓΧΣ) είναι εκφραστικά αρκετά ισχυρή, ώστε να επιτρέπει την περιγραφή γλωσσών, όπως οι γλώσσες προγραμματισμού,
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων) Τι θα κάνουμε σήμερα Εισαγωγικά Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Της Ασυμφραστικής
Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής
Λεκτικός Αναλυτής Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Οι Φάσεις της Μεταγλώττισης λεκτική ανάλυση συντακτική ανάλυση Πίνακας Συμβόλων σημασιολογική ανάλυση παραγωγή ενδιάμεσου κώδικα Διαχείριση
Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ
Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,
HEAD INPUT. q0 q1 CONTROL UNIT
Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs
Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 8 ο Μετάφραση Οδηγούμενη από τη Σύνταξη Ο ΣΑ καλεί τις ρουτίνες που εκτελούν τη σημασιολογική ανάλυση και παράγουν τον ενδιάμεσο κώδικα Σημασιολογικές πληροφορίες μπορούν να μεταφέρονται
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 2 ο ιδάσκων: Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων του
Μηχανές Turing (T.M) I
Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο
Μεταγλωττιστές. Εργαστήριο 5. Εισαγωγή στο BISON. Γεννήτρια Συντακτικών Αναλυτών. 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση
Μεταγλωττιστές Εργαστήριο 5 Εισαγωγή στο BISON Γεννήτρια Συντακτικών Αναλυτών 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι 2015-1016 Φάσεις Μεταγλώττισης
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών
CSC 314: Switching Theory. Chapter 3: Turing Machines
CSC 314: Switching Theory Chapter 3: Turing Machines 21 November 2008 1 Dr. Vicky Papadopoulou 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες της μορφής
Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση με το Εργαλείο BISON
Γλώσσες Προγραμματισμού Μεταγλωττιστές Συντακτική Ανάλυση με το Εργαλείο BISON Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γεννήτριες Συντακτικών Αναλυτών Bison/yacc
Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.
Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρώτη Σειρά Ασκήσεων 27 Οκτωβρίου 2016 Μέρος Α. (χειρόγραφη και ηλεκτρονική παράδοση 11 Νοεμβρίου) Άσκηση 1: Θεωρήστε το ακόλουθο
Γλώσσες Χωρίς Συμφραζόμενα
Γλώσσες Χωρίς Συμφραζόμενα Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γλώσσα χωρίς
Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα. Αλέξανδρος Τζάλλας
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεωρία Υπολογισμού Ενότητα 11 : Γραμματικές χωρίς συμφραζόμενα Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες () Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Πεπερασμένα Αυτόματα (Κεφάλαιο., Sipser) Ορισμός πεπερασμένων αυτομάτων και ορισμός του
Σειρά Προβλημάτων 4 Λύσεις
Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { a 2n b n c 3n n 2 } : H ζητούμενη μηχανή Turing μπορεί να διατυπωθεί ως την
Αριθμητικά Συστήματα = 3 x x x x 10 0
Δεκαδικό Όταν αναφερόμαστε σε μία αριθμητική τιμή, απεικονίζουμε μία ποσότητα με ένα σύμβολο ή έναν συνδυασμό από σύμβολα. Το αριθμητικό σύστημα που χρησιμοποιούμε είναι το δεκαδικό. Αποτελείται από δέκα
επιµέλεια Θοδωρής Πιερράτος
Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων
771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 2 ο ιδάσκων: Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων του
ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,
Εφαρµογές στοιβών Στην ενότητα αυτή θα µελετηθεί η χρήση στοιβών στις εξής εφαρµογές: Αναδροµικές συναρτήσεις Ισοζυγισµός Παρενθέσεων Αντίστροφος Πολωνικός Συµβολισµός ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι