Τυπικές Γλώσσες. και Μεταφραστές. Γιώργος Μανής

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Τυπικές Γλώσσες. και Μεταφραστές. Γιώργος Μανής"

Transcript

1 Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές Γιώργος Μανής

2 Ορισµοί Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένοσύνολοσ αποτελούµενο από σύµβολα { 0, 1 } δυαδικό αλφάβητο { Α, Β, Γ,, Ω } κεφαλαία ελληνικά γράµµατα Κάθε στοιχείο ενός αλφαβήτου Σ ονοµάζεται σύµβολο του αλφαβήτου

3 Ορισµοί Συµβολοσειρά: µία πεπερασµένη σειρά από σύµβολα του αλφαβήτου ΑΒΓΑΑΒΒΓ Οι συµβολοσειρές θα παριστάνονται µε µικρά ελληνικά γράµµατα Ησυµβολοσειρά που δεν περιέχει κανένα σύµβολο ονοµάζεται κενή συµβολοσειρά και παριστάνεται µε τοσύµβολο ε Μήκος συµβολοσειράς είναι ο αριθµός των συµβόλων που την αποτελούν και συµβολίζεται µε α = ΑΒΒΒΑ = 5

4 Ορισµοί Το σύνολο των συµβολοσειρών µήκους n ενός αλφαβήτου συµβολίζεται µε Σ n Το σύνολο όλων των συµβολοσειρών ενός αλφαβήτου συµβολίζεται µε Σ* (περιλαµβανοµένης της κενής συµβολοσειράς) Σ* είναι η ένωση όλων των Σ n Το σύνολο όλων των συµβολοσειρών ενός αλφαβήτου µη περιλαµβανοµένης της κενής συµβολοσειράς συµβολίζεται µε Σ +

5 Ορισµοί Παράθεση δύο συµβολοσειρών αβ όλατασύµβολα της α ακολουθούµενα από όλα τα σύµβολα της β Παράθεση n φορές α n = ααα α ήπιοαυστηρά: α 0 = { ε }, α n+1 = α α n

6 Ορισµοί Πρόθεµα: ηαονοµάζεται πρόθεµα της β εάν όλα τα στοιχεία της α εµφανίζονται µε τη σειρά στην αρχή της β Επίθεµα: ηαονοµάζεται επίθεµα τηςβεάνόλαταστοιχείατηςα εµφανίζονται µε τη σειρά στο τέλος της β Υποσυµβολοσειρά: ηαονοµάζεται υποσυµβολοσειρά της β εάν όλα τα στοιχεία της α εµφανίζονται µε τη σειρά στο εσωτερικό της β

7 Γλώσσες Γλώσσα επί αλφάβητου Σ ονοµάζουµε κάθεσύνολοσυµβολοσειρών του Σ, δηλαδή κάθε υποσύνολο του Σ*, π.χ. L 1 = { a n b2 n n N } L 2 = { abba } L 3 = { x x: τα έγκυρα προγράµµατα Pascal }

8 Γλώσσες Ένωση L 1 L 2 = { α α L 1 ήα L 2 } Παράθεση L 1 L 2 = { αβ α L 1, β L 2 } Ουδέτερο στοιχείο η γλώσσα { ε } για την οποία L{ε }={ε }L=L Παράθεση µε τονεαυτότηςn φορές L 0 = { ε }, L n+1 = L L n Κλείσιµο τουkleene L * = U n=0 n L

9 Γραµµατικές Γραµµατική ονοµάζεται µία ένα σύστηµα παραγωγήςσυµβολοσειρών G που ορίζεται από µία διατεταγµένη τετράδα της µορφής (T,N,P,S) όπου: Τ: αλφάβητο τερµατικών συµβόλων Ν: αλφάβητο µητερµατικών συµβόλων T N = P: πεπερασµένο σύνολο κανόνων παραγωγής P ( T N ) * x ( T N ) * συµβολισµός: α -> β S: αρχικό σύµβολο

10 Παραγωγή Συµβολοσειρών από Γραµµατική Γιαναπαράξουµε όλες τις σειρές που µπορεί να παράξει µία γραµµατική εφαρµόζουµε τον παρακάτω αλγόριθµο. Στον αλγόριθµο αυτόν χρειαζόµαστε τρία σύνολα ένα σύνολο Α περιέχει τις συµβολοσειρές που πρέπει ακόµα να ελεγχθούν. Αρχικά περιέχει µόνο το αρχικό σύµβολο της γραµµατικής ένα σύνολο Χ περιέχει τις συµβολοσειρές που παρήχθησαν από τη γραµµατική και αρχικά είναι κενό ένα σύνολο περιέχει τις συµβολοσειρές που έχουν ήδη ελεγχθεί και αρχικά είναι κενό

11 Παραγωγή Συµβολοσειρών από Γραµµατική αφαιρούµε µία συµβολοσειρά από το Α και τη διαπερνούµε από αριστερά προς τα δεξιά ψάχνοντας για υποσυµβολοσειρές που ταιριάζουν µε το αριστερό µέλος κάποιου γραµµατικού κανόνα για κάθε τέτοια υποσυµβολοσειρά που βρίσκουµε δηµιουργούµε καιένα αντίγραφο της συµβολοσειράς εισόδου και αντικαθιστούµε την υποσυµβολοσειρά που βρίσκουµε στοαριστερό µέλος του κανόνα µε αυτό που βρίσκεται στο δεξιό µέλος του κανόνα αν η συµβολοσειρά που παράχθηκε δεν περιέχει µη τερµατικά σύµβολα τότε την τοποθετούµε στο σύνολο που περιέχει τις συµβολοσειρές που παράχθηκαν αν η συµβολοσειρά που παράχθηκε περιέχει µη τερµατικά σύµβολα τότε αν δεν ανήκει στο την τοποθετούµε στο και το Α όσο το Α δεν είναι κενό εκτελούµε τα τέσσερα προηγούµενα βήµατα

12 Τυπικές Γλώσσες Κάθε γραµµατική G=(T,N,P,S) ορίζει µία γλώσσα L(G) T * Λέµε ότιηγραµµατική παράγει τη γλώσσα και ορίζεται ως L(G) = { α T * S + α } το σύµβολο + σηµαίνει ότι η συµβολοσειρά παράγεται σε ένα ή περισσότερα βήµατα παραγωγή σε µηδέν βήµατα α βσηµαίνει α=β Μία γλώσσα λέγεται τυπική όταν υπάρχει γραµµατική που την παράγει

13 Ιεραρχία Chomsky Γραµµατικές Γραµµατικές Χωρίς Περιορισµούς Γραµµατικές Με Συµφραζόµενα Γραµµατικές Χωρίς Συµφραζόµενα Κανονικές Γραµµατικές

14 Γραµµατικές χωρίς Περιορισµούς Γραµµατικές χωρίς περιορισµούς τύπου 0 προτασιακής σύνταξης κανόνες της µορφής σ -> τ σ V +, V = T N τ V *

15 Γραµµατικές µε Συµφραζόµενα Γραµµατικές µε συµφραζόµενα τύπου 1 κανόνες της µορφής ααβ -> αxβ Α Ν x V + α,β V * κατ εξαίρεση: επιτρέπεται το S -> ε ώστε να παράγεται η κενή συµβολοσειρά αρκεί το S να µην υπάρχει σε δεξί µέλος κανόνα

16 Γραµµατικές µε Συµφραζόµενα Ισοδύναµη µορφή γραµµατικών µε συµφραζόµενα, καλούνται µονότονες γραµµατικές κανόνες της µορφής α -> β α,β V + η α περιέχει τουλάχιστόν ένα µητερµατικό σύµβολο α β κατ εξαίρεση: επιτρέπεται το S -> ε ώστε να παράγεται η κενή συµβολοσειρά αρκεί το S να υπάρχει µόνο σε δεξί µέλος κανόνα

17 Γραµµατικές µε Συµφραζόµενα θα κατασκευάσουµε γραµµατική για τη γλώσσα: α n b n c n αρχίζοντας από την απλή περίπτωση S -> abc αν προσθέσουµε έναa στην αρχή θα πρέπει να προσθέσουµε κάτι και στο τέλος S -> asq στο τέλος πρέπει να υπάρχει κάτι µε b και c αλλά όχι απλά να προσθέσουµε bc αφού όλα τα b πρέπει να βρίσκονται πριν τα c κάτι τέτοιο επιτρέπει το b να είναι πάντα πριν το c bqc -> bbcc πάλι δεν τελειώσαµε αφού τα Q βρίσκονται δεξιά από τα c, αυτό µπορεί να διορθωθεί µε τον κανόνα cq -> Qc

18 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα S ::= assignments assignments ::= assign ; assignments assignments ::=. \%variable is set assign ::= x := exp (setx) assign ::= y := exp (sety) \% rules for an expression exp ::= [exp] exp ::= exp op exp

19 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα \% marks can move at 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)

20 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα (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)

21 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα \% marks can change positions (setx) (sety) ::= (sety) (setx) (sety) (setx) ::= (setx) (sety) \%use a variable, move at the end exp (setx) ::= x (setx) exp (sety) ::= y (sety)

22 Γραµµατικές µε Συµφραζόµενα - Παράδειγµα \% marks can move after the dot (setx). (sety). \% terminal symbols exp ::= num op ::= + - * /

23 Γραµµατικές χωρίς Συµφραζόµενα Γραµµατικές χωρίς συµφραζόµενα - τύπου 2 κανόνες της µορφής Α -> α Α Ν α V * Παράδειγµα <name> ::= tom john harry <sentence> ::= name <list> and <name> <list> ::= <name>, <list> name

24 Κανονικές Γραµµατικές Κανονικές γραµµατικές τύπου 3 γραµµατικές πεπερασµένων καταστάσεων κανόνες της µορφής Α -> α Α -> ββ Α,Β Ν α Τ {ε} β Τ

25 Κανονικές Γραµµατικές Παράδειγµα S -> a A A -> a A A -> d A A -> ε Παραγωγή: σειρές από α και d που ξεκινούν υποχρεωτικά από α

26 Γραµµατικές Πεπερασµένων Επιλογών Γραµµατικές πεπερασµένων επιλογών ή τύπου 4 κανόνες της µορφής Α -> α Α Ν α Τ {ε}

27 Αναγνωριστές Μηχανές Πεπερασµένα αυτόµατα Αυτόµατα Στοίβας Γραµµικά Περιορισµένες Μηχανές Turing Μηχανή Turing

28 Μηχανή Turing διαθέτει µία ταινία άπειρου µήκους διαθέτει µία κεφαλή ανάγνωσης-εγγραφής που µπορεί νακινείταιστην ταινία σε διακριτές θέσεις στην ταινία µπορούν να γράφονται σύµβολα που ανήκουν σε ένα πεπερασµένο αλφάβητο κάθε στιγµή ηµηχανή βρίσκεται σε µία κατάσταση που ανήκει σε ένα πεπερασµένοσύνολοκαταστάσεων αρχικά η µηχανή βρίσκεται σε κάποια αρχική κατάσταση, ηταινία περιέχει µία συµβολοσειρά και η κεφαλή βρίσκεται στην αρχή της συµβολοσειράς

29 Μηχανή Turing ανάλογα µε το χαρακτήρα στην κεφαλή της ταινίας και την τρέχουσα κατάσταση η µηχανή µεταφέρεται σε µία νέα κατάσταση ή τερµατίζει ένας νεός χαρακτήρας γράφεται στη θέση που βρίσκεται η κεφαλή η κεφαλή κινείται αριστερά ή δεξιά ή παραµένει στάσιµη η µηχανή Turing µπορεί να υπολογίσει ο,τιδήποτε είναι υπολογίσιµο

30 Άλλοι Αναγνωριστές Γραµµικά Περιορισµένη Μηχανή Turing: είναι µία µηχανή Turing της οποίας η ταινία έχει µήκος Ο(n) όπου n το µήκος της συµβολοσειράς εισόδου αυτόµατο στοίβας πεπερασµένο αυτόµατο

31 Κανονικές Εκφράσεις Παραδοσιακά χρησιµοποιούνται για την περιγραφή των λεκτικών µονάδων µιας γλώσσας προγραµµατισµού Κάθε κανονική έκφαση 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)*

32 Κανονικές Εκφράσεις Συντοµογραφίες οι παρενθέσεις συνήθως παραλείπονται. Μεγαλύτερη προτεραιότητα έχει ο τελεστής * µετά της παράθεσης και µετά της διάζευξης οσυµβολισµός r + χρησιµοποιείται για το θετικό κλείσιµο τουkleene, δηλαδή r + = rr* οσυµβολισµός [a,b,c,d] χρησιµοποιείταιαντίτου α b c d οσυµβολισµός r? χρησιµοποιείται για να δείξει ότι η έκφραση είναι προαιρετική η τελεία χρησιµοποιείται για να παραστήσει κάποιο σύµβολο του αλφαβήτου το σύµβολο / υποδηλώνει ότι ο επόµενος χαρακτήρας που ακολουθεί είναι σύµβολο του αλφαβήτου και όχι κάποιος ειδικός χαρακτήρας. π.χ. η έκφραση /( /) µας περιγράφει την συµβολοσειρά ( )

33 Κανονικές Εκφράσεις Παράδειγµα [1-9][0-9]* 0] (/.[0-9] + )? ((E e)(+ -)?[0-9] + )? περιγράφει τις σταθερές κινητής υποδιαστολής χωρίς πρόσηµο της γλώσσας C

34 Ντετερµινιστικά Πεπερασµένα Αυτόµατα Ένα ντετερµινιστικό πεπερασµένο αυτόµατο είναι µία διατεταγµένη πεντάδα M=(A,Q,δ,q 0,F) όπου Ατοαλφάβητοτουαυτοµάτου Q ένα µη κενό πεπερασµένοσύνολοκαταστάσεων δ: Q x A -> Q η συνάρτηση µετάβασης q 0 єq η αρχική κατάσταση F Q οι τελικές καταστάσεις

35 Ντετερµινιστικά Πεπερασµένα Αυτόµατα Αρχικά το αυτόµατο βρίσκεται στην κατάσταση q o από τη συµβολοσειρά εισόδου διαβάζεται ένα σύµβολο κάθε φορά αν το αυτόµατο βρίσκεται στην κατάσταση q και διαβαστεί το σύµβολο α τότε το αυτόµατο µεταβαίνει στην κατάσταση δ(q,α) η διαδικασία συνεχίζεται µέχρι να εξαντληθεί η συµβολοσειρά είσόδου τότε, αν η κατάσταση στην οποία έχει µεταβεί το αυτόµατο είναι µία από τις καταστάσεις του συνόλου F ησυµβολοσειρά έχει αναγνωριστεί επιτυχώς, αλλιώς οδηγούµαστε σε αποτυχία

36 Πεπερασµένα Αυτόµατα ντετερµινιστικά περασµένα αυτόµατα (ΝΠΑ) µη ντετερµινιστικά περασµένα αυτόµατα (ΜΠΑ) ορίζεται όπως ένα ΝΠΑ µόνο που η συνάρτηση µετάβασης δ δεν επιστρέφει µόνο µία κατάσταση αλλά ένα σύνολο πιθανών επόµενων καταστάσεων µη ντετερµινιστικά περασµένα αυτόµατα µε µηδενικές µεταβάσεις (ΜΠΑ) ορίζεται όπως ένα ΜΠΑ µε τη διαφορά ότι επιτρέπονται µεταβάσεις από κατάσταση σε κατάσταση χωρίς να διαβαστεί χαρακτήρες από τη συµβολοσειρά είσόδου Τα τρία αυτά ήδη αυτοµάτων είναι ισοδύναµα µεταξύ τους

37 Παράδειγµα ΜετατροπήςΜΠΑσεΝΠΑ 1 0/1 a 1 b 1 0/1 a 1 ab 0 b

38 Παράδειγµα ΜετατροπήςΜΠΑσεΝΠΑ 0 1 eof a a,b b b b ok 0 1 eof {a} {ab} {b} {b} {b} ok {ab} {b} {ab} ok

39 ΜΠΑ σε Πίνακα Μετάβασης 1 0/1 a 1 b 0 1 eof a a,b b b b ok

40 ΝΠΑ σε Πίνακα Μετάβασης 1 0/1 a 1 ab 0 b 0 1 eof a ab b b b ok ab b ab ok

41 Γραµµατικές χωρίς Συµφραζόµενα Τα αριστερά µέλη των κανόνων αποτελούνται από ένα µη τερµατικό σύµβολο σε κάθε βήµα αντικαθίσταται ένα µητερµατικό σύµβολο αν υπάρχουν περισσότερα από ένα µητερµατικά σύµβολα που είναι δυνατόν να αντικατασταθούν τότε αντικαθίσταται οποιδήποτε από αυτά έτσι µία συµβολοσειρά που παράγεται από µία γραµµατική µπορεί να έχει περισσότερες από µία παραγωγές αυτό είναι ανεπιθύµητο και το αποφεύγουµε

42 Γραµµατικές χωρίς Συµφραζόµενα ονοµάζουµε αριστερότερη παραγωγή µιας συµβολοσειράς την παραγωγή εκείνη στην οποία σε κάθε βήµα αντικαθίσταται το αριστερότερο µη τερµατικό σύµβολο. Συµβολίζεται ως εξής: α L β ονοµάζουµε δεξιότερη παραγωγή µιας συµβολοσειράς την παραγωγή εκείνη στην οποία σε κάθε βήµα αντικαθίσταται το δεξιότερο µη τερµατικό σύµβολο. Συµβολίζεται ως εξής: α R β

43 Συντακτικό έντρο Η ρίζα του δέντρου περιέχει το αρχικό µη τερµατικό σύµβολο κάθε κόµβος του δέντρου που δεν είναι φύλλο περιέχει ένα µη τερµατικό σύµβολο της γραµµατικής κάθε φύλλο του δέντρου περιέχει ένα τερµατικό σύµβολο της γραµµατικής οι απόγονοι κάθε κόµβου του δέντρου που δεν είναι φύλλο υπακούουν στους κανόνες της γραµµατικής

44 Συντακτικό έντρο S -> aabc A -> Ab A-> csb B -> bb B -> a S -> ε S a A B c A b a c S B ε a

45 Γραµµατική Tύπου LL(1) L: Left to right - αναφέρεται στον τρόπο που σαρώνεται η συµβολοσειρά εισόδου, από τα αριστερά στα δεξιά L: Left most derivation η διαδικασία κατασκευής του συντακτικού δέντρου αντιστοιχεί στην αριστερότερη παραγωγή (1): one look ahead symbol γιαναεπιλέξουµε ανάµεσα σε πιθανούς κανόνες ποιος είναι ο επόµενος κανόνας που πρέπει να εφαρµοσθεί αρκεί να γνωρίζουµε τοεπόµενο σύµβολο της συµβολοσειράς εισόδου

46 Γραµµατική Tύπου LL(1) Παράδειγµα γραµµατικής τύπου LL(1) Ε -> ΤΕ Ε -> +ΤΕ ε Τ -> FT T -> x FT ε F -> (E) id id -> a b c d Παραγωγή: (a+bxc+bx(a+c))xd

47 Ισοδύναµες Γραµµατικές ύο γραµµατικές είναι ισοδύναµες όταν παράγουν την ίδια γλώσσα Το πρόβληµα αν δύο γραµµατικές είναι ισοδύναµο είναι µη υπολογίσιµο

48 ιφορούµενες Γραµµατικές Μία γράµµατική λέγεται διφορούµενη αν υπάρχουν δύο ή περισσότερα συντακτικά δέντρα για την ίδια παραγόµενη συµβολοσειρά Στην παρακάτω γραµµατική το else δεν µπορεί να αποφασιστεί σε πιο if ανήκει stmt -> if cond stmt else stmt if cond stmt s1 s2 cond -> c1 c2 Οι διφορούµενες γραµµατικές πρέπει να αποφεύγονται στην κατασκευή των µεταγλωττιστών

49 Αυτόµατα Στοίβας Ένα αυτόµατο στοίβας είναι µία διατεταγµένη επτάδα M=(A,Q,Η,δ, q 0, h 0,F) όπου Ατοαλφάβητοτηςσυµβολοσειράς εισόδου Q ένα µη κενό πεπερασµένοσύνολοκαταστάσεων Ητοαλφάβητοτηςστοίβας δ: Q x Η x (A U {ε}) -> Ρ(Η* x Q) η συνάρτηση µετάβασης q 0 є Q η αρχική κατάσταση h 0 є H το αρχικό σύµβολο της στοίβας F Q οι τελικές καταστάσεις

50 Αυτόµατα Στοίβας αρχικά το αυτόµατο βρίσκεται στην κατάσταση q 0 και στη στοίβα βρίσκεται το σύµβολο h 0 στη συνέχεια και ανάλογα µε την τρέχουσα κατάσταση q το σύµβολο h που υπάρχει στην κορυφή της στοίβας, το αυτόµατο αφαιρεί το h από τη στοίβα και ακολουθεί έναν από τους εξής δρόµους: αν το τρέχον σύµβολο της συµβολοσειράς εισόδου είναι το α και το σύνολο κινήσεων δ(q,h,a) δεν είναι κενό τότε επιλέγεται µία κίνηση από αυτό το σύνολο και εκτελείται. Στηνπερίπτωσηαυτήλέµε ότι το αυτόµατο πραγµατοποιεί µετάβαση ανάγνωσης και το α καταναλώνεται αν το σύνολο κινήσεων δ(q,h,ε) δεν είναι κενό τότε επιλέγεται µία κίνηση απόαυτότοσύνολοκαιεκτελείται. Στηνπερίπτωσηαυτήλέµε ότι το αυτόµατο πραγµατοποιεί ε-µετάβαση ανάγνωσης και δεν καταναλώνεται κάποιο σύµβολο από τη συµβολοσειρά εισόδου

51 Αυτόµατα Στοίβας µία εκτέλεση ενός αυτοµάτου στοίβας αναγνωρίζει τη συµβολοσειρά εισόδου αν µετά το τέλος της εκτέλεσης έχει εξαντληθεί η συµβολοσειρά εισόδου και η τρέχουσα κατάσταση ανήκει στο σύνολο F των τελικών καταστάσεων µία εκτέλεση ενός αυτοµάτου στοίβας δεν αναγνωρίζει τη συµβολοσειρά εισόδου αν: έχει εξαντληθεί η συµβολοσειρά εισόδου και η τρέχουσα κατάσταση δεν ανήκει στο σύνολο F των τελικών καταστάσεων δενέχειεξαντληθείησυµβολοσειρά εισόδου και η στοίβα είναι άδεια δενέχειεξαντληθείησυµβολοσειρά εισόδου και δεν υπάρχει δυνατή µετάβαση

52 Αυτόµατα Στοίβας ηαφαίρεσητουσυµβόλου h από την κορυφή της στοίβας η οποία και γίνεται αυτόµατα σεκάθεβήµατηςεκτέλεσηςσυµβολίζεται µε pop η προσθήκη συµβόλων στη στοίβα συµβολίζεται µε push η µετάβαση στην κατάσταση q συµβολίζεται µε move(q ) µία ακολουθία της µορφής pop, push(hc) απλοποιείται σε push(c) η push(ε) παραλείπεται η move(q) παραλείπεται αν η τρέχουσα κατάσταση είναι η q

53 Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης ηπρώτηγραµµή περιέχει το αλφάβητο της στοίβας επαυξηµένο µε το σύµβολο ~ η πρώτη στήλη το σύνολο των καταστάσεων το αρχικό σύµβολο της στοίβας και η αρχική κατάσταση εµφανίζονται πρώτα στη σειρά οσυµβολισµός read(a) αντιστοιχεί σε µετάβαση ανάγνωσης του α οσυµβολισµός keep αντιστοιχεί σε ε-µετάβαση

54 Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης Α = { [, ] } 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 }

55 Αυτόµατα Στοίβας σαν Πίνακας Μετάβασης X I ~ S read( [ ) push(i) keep move(t) read( [ ) push(i) read( ] ) pop T OK

56 Είδη Αυτοµάτων Στοίβας πραγµατικού χρόνου: αν δεν έχει ε-µεταβάσεις ντετερµινιστικό: για µία δεδοµένη συµβολοσειρά εισόδου µπορεί να ακολουθήσει µία και µοναδική εκτέλεση µη-ντετερµινιστικό: για µία δεδοµένη συµβολοσειρά εισόδου µπορεί να ακολουθήσει περισσότερες από µία εκτελέσεις

57 Ισοδυναµία Γλωσσών, Γραµµατικών, Μηχανών Γλώσσες Γραµµατικές Μηχανές Κανονικές Γλώσσες Κανονικές Γραµµατικές Πεπερασµένα αυτόµατα Γλώσσες Χωρίς Συµφραζόµενα Γραµµατικές Χωρίς Συµφραζόµενα Αυτόµατα Στοίβας Γλώσσες Με Συµφραζόµενα Γραµµατικές Με Συµφραζόµενα Γραµµικά Περιορισµένες Μηχανές Turing Υπολογίσιµες γλώσσες Γραµµατικές χωρίς περιορισµούς Μηχανή Turing

58 Κατηγορικές Γραµµατικές µία κατηγορική γραµµατική ορίζεται σαν µία διατεταγµένη τριάδα Κ=(G,V,F) όπου G=(T,N,P,S) µία γραµµατική χωρίς συµφραζόµενα V ένα πεπερασµένο σύνολοσυµβόλων που ονοµάζονται κατηγορήµατα F ένα σύνολο δηλώσεων

59 Κατηγορικές Γραµµατικές κάθε κατηγόρηµα αντιστοιχεί σε ένα µοναδικό τερµατικό ή µη τερµατικό σύνολο το σύνολο των κατηγορηµάτων που αντιστοιχούν σε ένα τερµατικό ή µη τερµατικό σύµβολο είναι συγκεκριµένο καθώς και ο τύπος των τιµών που µπορεί να πάρει οι τιµές όµως αυτές είναι διαφορετικές για κάθε εµφάνιση ενός συµβόλου σε ένα συντακτικό δέντρο το σύνολο των δηλώσεων καθορίζει τον τρόπο που θα συνδυαστούν κάποια κατηγορήµατα για να πάρουν άλλα κατηγορήµατα

60 Κατηγορικές Γραµµατικές ένα κατηγόρηµα ονοµάζεται συνθετικό αν η τιµή του σε ένα κόµβο του συντακτικού δέντρου υπολογίζεται από τις τιµές άλλων κατηγορηµάτων που ανήκουν στους άµεσους απόγονούς του κόµβου αυτού ένα κατηγόρηµα ονοµάζεται κληρονοµούµενο αν η τιµή του σε ένα κόµβο του συντακτικού δέντρου υπολογίζεται από τις τιµές άλλων κατηγορηµάτων που ανήκουν στόν γονέα ή τα αδέρφια του κόµβου αυτού Το υποσύνολο των δηλώσεων που αντιστοιχεί σε ένα κανόνα ονοµάζεται σηµασιολογικός κανόνας

61 Κατηγορικές Γραµµατικές E -> E + T { E 1.val = E 2.val + T.val } E -> T { E.val = T.val } T -> T * F { T 1.val = T 2.val + F.val } T -> F { T.val = F.val } F -> ( E ) { F.val = E.val } F -> num { F.val = num.val }

62 Κατηγορικές Γραµµατικές και Μεταφραστές η προηγούµενη γραµµατική είχε µόνο συνθετικά κατηγορήµατα τέτοιες γραµµατικές καλούνται S-κατηγορικές γραµµατικές οι γραµµατικές αυτές είναι πολύ ευκολότερο να χρησιµοποιηθούν στους µεταγλωττιστές χρησιµοποιούνται αποκλειστικά αυτές οι γραµµατικές συνήθως στους µεταγλωττιστές χρησιµοποιείται µία γενικότερη µορφή σηµασιολογικών κανόνων που εκτός από τον υπολογισµό τωντιµών των κατηγορηµάτων εκτελούν και κώδικα (π.χ. ενηµερώνουν τον πίνακα συµβόλων, εµφανίζουν µηνύµατα σφάλµατος κλπ.). Οι κανόνες αυτοί ονοµάζονται σηµασιολογικές ρουτίνες.

63 Κατηγορικές Γραµµατικές και Μεταφραστές µπορούν να εκφράζουν σηµασιολογικούς κανόνες των γλωσσών προγραµµατισµού περιγράφουν µία απεικόνιση µιας γλώσσας που περιγράφεται από µία γραµµατική χωρίς συµφραζόµενα σε κάποια ισοδύναµη διαφορετική της µορφή η µορφή τους είναι εκτελέσιµη. Μπορεί δηλαδή να κατασκευαστεί αυτόµατα ένα πρόγραµµα τοοποίονακάνειό,τι η κατηγορική γραµµατική περιγράφει γενικά µπορούν να χρησιµοποιηθούν για περιγραφή υπολογιστικών διαδικασιών καθοδηγούµενες από τη σύνταξη

64 Ένα πιο Σύνθετο Παράδειγµα υπολογισµός ενός δεκαδικού αριθµού εκφρασµένου σε δυαδική µορφή η ακόλουθη γραµµατική χωρίς συµφραζόµενα περιγράφει έναν δυαδικό αριθµό µε τερµατικά σύµβολα τα 0, 1 και. p1: Z::=L p2: Z::=L.L p3: L::=LB p4: L::=B p5: B::=1 p6: B::=0

65 Το Κατηγόρηµα v κατηγόρηµα v (value): ηδεκαδικήτιµή της υποσυµβολοσειράς που αναγνωρίζεται από ένα µη τερµατικό σύµβολο. Είναι πραγµατικός αριθµός και αφορά τα µη τερµατικά σύµβολα Z, L, B p1: Z::=L p2: Z::=L.L p3: L::=LB p4: L::=B p5: B::=1 p6: B::=0

66 Σηµασιολογικοί Κανόνες για το v p1: Z::=L Z.v = L.v p2: Z::=L 1.L 2 Z.v = L 1.ν + L 2.v p3: L 0 ::=L 1 B L o.v = L 1.v + B.v p4: L::=B L.v = B.v p5: B::=1 B.v = 2 B.s p6: B::=0 B.v = 0

67 Το Κατηγόρηµα s αναπαριστά τη θέση του ψηφίου στον αριθµό πρέπει να είναι µηδέν αµέσως αριστερά από την τελεία, ένα για το αµέσως αριστερά ψηφίο, δύο για το επόµενο κ.ο.κ αντίστοιχα πρέπει να είναι -1 για το ψηφίο αµέσως δεξιά από την τελεία, -2 για το πιο δεξία, κ.ο.κ το πρόβληµα µετατίθεται στη σωστή εκχώρηση τιµής στο s

68 Σηµασιολογικοί Κανόνες για το s Bήµα 1 p1: Z::=L p2: Z::=L 1.L 2 p3: L 0 ::=L 1 B B.s = L 0.s L 1.s = L 0 s + 1 p4: L::=B B.s = L.s p5: B::=1 p6: B::=0

69 Σηµασιολογικοί Κανόνες για το s Bήµα 2 p1: Z::=L L.s = 0 p2: Z::=L 1.L 2 L 1.s =0 p3: L 0 ::=L 1 B B.s = L 0.s L 1.s = L 0 s + 1 p4: L::=B B.s = L.s p5: B::=1 p6: B::=0

70 Σηµασιολογικοί Κανόνες για το s Bήµα 3 p1: Z::=L L.s = 0 p2: Z::=L 1.L 2 L 1.s =0 L 2.s=-L 2.l p3: L 0 ::=L 1 B B.s = L 0.s L 1.s = L 0 s + 1 p4: L::=B B.s = L.s p5: B::=1 p6: B::=0

71 Το Κατηγόρηµα l αναπαριστά το µήκος της συµβολοσειράς του κατηγορήµατος χρησιµοποιείται για να δώσει τιµή στο κατηγόρηµα s

72 Σηµασιολογικοί Κανόνες για το l p1: Z::=L p2: Z::=L 1.L 2 L 2.s = -L 2.l p3: L 0 ::=L 1 B L o.l = L 1.l + 1 p4: L::=B L.l = 1 p5: B::=1 p6: B::=0

73 Η Πλήρης Κατηγορική Γραµµατική

74 Ένα Παράδειγµα Εκτέλεσης

75 Γραµµατικές Ενεργοποίησης υποπερίπτωση των κατηγορικών γραµµατικών αποδεικνύεται ότι ό,τι µπορεί να περιγράψει µία γραµµατική ενεργοποίησης περιγράφεται και από µία κατηγορική γραµµατική κώδικας ενεργοποιείται καθώς αναγνωρίζεται η συµβολοσειρά εισόδου

76 Ένα Παράδειγµα p1: S ::= Z. D p2: Z ::= n B p3: Z ::= ε p4: D ::= n D p5: D ::= ε

77 Ένα Παράδειγµα int value,dlen; p1: S ::= value=0; dlen=0; Z. D p2: Z ::= n value=value*10+n B p3: Z ::= ε p4: D ::= n dlen++; value=value+n/10 dlen ; D p5: D ::= ε

78 υναµικότητα Γραµµατικών και Μεταφραστές Το σύνολο όλων των λεκτικά ορθών προγραµµάτων µπορεί να περιγραφεί από µία κανονική γραµµατική δεν υπάρχουν λευκοί χαρακτήρες ανάµεσα σε δεσµευµένες λέξεις δε συναντάµε end-of-file ενώ έχουν ανοίξει σχόλια και δεν έχουν κλείσει τα αναγνωριστικά ξεκινούν από γράµµα και ακολουθεί µία σειρά γραµµάτων και αριθµών κλπ

79 υναµικότητα Γραµµατικών και Μεταφραστές Το σύνολο των συντακτικά ορθών προγραµµάτων περιγράφεται από µία γραµµατική χωρίς συµφραζόµενα βρέθηκε else χωρίς if εκχώρηση σε αριθµητική σταθερά κλπ. Το σύνολο των σηµασιολογικά ορθών προγραµµάτων περιγράφεται από µία γραµµατική µε συµφραζόµενα η µεταβλητή αυτή έχει δηλωθεί; πρόκειται για απλή µεταβλητή ή πίνακα; γράφουµε µήπως έξω από τα όρια ενός πίνακα;

80 υναµικότητα Γραµµατικών και Μεταφραστές Το σύνολο των προγραµµάτων που τερµατίζουν σε πεπερασµένο χρόνο µε συγκεκριµένη είσοδο µπορεί να περιγραφεί από µία (πολύ πολύπλοκη) γραµµατική χωρίς περιορισµούς Το σύνολο των προγραµµάτων που λύνουν ένα συγκεκριµένο πρόβληµα δε µπορείναπεριγραφείαπόκαµία γραµµατική

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

Κατηγορικές Γραµµατικές Κατηγορικές Γραµµατικές Γραµµατικές Χωρίς περιορισµούς Με συµφραζόµενα Χωρίς συµφραζόµενα Κανονικές Πεπερασµένων επιλογών Κατηγορικές Ενεργοποίησης Γραµµατικές G = { T, N, P, S } Τ: αλφάβητο τερµατικών

Διαβάστε περισσότερα

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα

Ορισµοί. Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές. Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα Ορισµοί Τυπικές Γλώσσες Γραµµατικές και Μεταφραστές Αλφάβητο: ένα οποιδήποτε µη κενό και πεπερασµένο σύνολο Σ αποτελούµενο από σύµβολα { 0, } δυαδικό αλφάβητο { Α, Β, Γ,, Ω } κεφαλαία ελληνικά γράµµατα

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216 Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών

Διαβάστε περισσότερα

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου

Διαβάστε περισσότερα

Κεφάλαιο 2: Τυπικές γλώσσες

Κεφάλαιο 2: Τυπικές γλώσσες Κεφάλαιο 2: Τυπικές γλώσσες (μέρος 2ο) Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 47 / 216 Γλώσσες χωρίς συμφραζόμενα (i) Γραμματικές χωρίς συμφραζόμενα: Σε κάθε παραγωγή ένα μη τερματικό

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 14: Γραμματικές Χωρίς Συμφραζόμενα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 8: Ιδιότητες Γραμματικών χωρίς Συμφραζόμενα Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί); Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

Γραµµατικές για Κανονικές Γλώσσες

Γραµµατικές για Κανονικές Γλώσσες Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης. Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού

Διαβάστε περισσότερα

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

ΜΑΘΗΜΑ: Μεταγλωττιστές Comment [h1]: Παράδειγμ α: https://ocp.teiath.gr/modules/ exercise/exercise_result.php?course=pey101&eurid=16 9 ΜΑΘΗΜΑ: Μεταγλωττιστές ΔΙΔΑΣΚΩΝ: Άγγελος Μιχάλας ΤΜΗΜΑ: Τμήμα Μηχανικών Πληροφορικής ΤΕ 1

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6 Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Απάντηση: (func endfunc)-([a-za-z])+ Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 5: Μη κανονικές γλώσσες Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Βοηθητικές έννοιες (i) Σύνολα FIRST Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Αν a τότε a FIRST Αν τότε FIRST Νίκος Παπασπύρου,

Διαβάστε περισσότερα

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 21η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: «Artificial Intelligence A Modern Approach» των. Russel

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:

Διαβάστε περισσότερα

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 3 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 3 ο Λεκτική Ανάλυση και Λεκτικοί Αναλυτές Γενικά για τη λεκτική ανάλυση Έννοιες που χρειαζόμαστε Τεχνικές λεκτικής ανάλυσης Πίνακας συμβόλων και διαχείριση λαθών Σχεδίαση λεκτικού

Διαβάστε περισσότερα

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

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα Κανονικές Γλώσσες Κανονικές Γλώσσες Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Κανονική γλώσσα αν παράγεται από κανονική γραμματική. Παραγωγές P (V Σ) Σ * ((V Σ) ε) Παραγωγές μορφής:

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 21: Υπολογισμοί ΜΤ - Αναδρομικές Γλώσσες Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 26: Καθολική Μηχανή Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που

Διαβάστε περισσότερα

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1. Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { ww w {a,b}* }. (β) Να διατυπώσετε την τυπική περιγραφή

Διαβάστε περισσότερα

Top Down Bottom Up. Συντακτική Ανάλυση. Συντακτική Ανάλυση για Γραµµατικές χωρίς Συµφραζόµενα (top-down - Earley)

Top Down Bottom Up. Συντακτική Ανάλυση. Συντακτική Ανάλυση για Γραµµατικές χωρίς Συµφραζόµενα (top-down - Earley) Top Down Bottom Up Συντακτική Ανάλυση Γιώργος Μανής δεοµένης της παραγωγής X αβ, ο συµβολισµός X α β αναπαριστά µία κατάσταση στη οποία το α έχει ήδη αναγνωριστεί και το β προσδοκάται να αναγνωριστεί.

Διαβάστε περισσότερα

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

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών. Προδιαγραφές Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσ.h.m.μ.y. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές Στάθης Ζάχος Συνεργασία: Κωστής Σαγώνας Επιμέλεια:

Διαβάστε περισσότερα

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει τη γλώσσα { ww rev w {a, b} * και w αποτελεί καρκινική λέξη } (α) H ζητούμενη μηχανή

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 7. Κατηγορηματικές Γραμματικές 27,2 Φεβρουαρίου, 9 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Κατηγορηματικές Γραμματικές Ή Γραμματικές Χωρίς Συμφραζόμενα Παράδειγμα.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b

Διαβάστε περισσότερα

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

Θέματα Μεταγλωττιστών Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 8: Πεπερασμένα Αυτόματα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing που να διαγιγνώσκει την ακόλουθη γλώσσα. { a n b n+2 c n 2 n 2 } Λύση: H ζητούμενη μηχανή Turing μπορεί να

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και

Διαβάστε περισσότερα

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 10: Συνδυασμοί μηχανών Turing Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

aab aabb aaabb aaaabb aaaabb aaaabb

aab aabb aaabb aaaabb aaaabb aaaabb Κεφάλαιο 4 Γλώσσες & Γραμματικές Χωρίς Συμφραζόμενα Σύνοψη Η κλάση των Γλωσσών Χωρίς Συμφραζόμενα (ΓΧΣ) είναι εκφραστικά αρκετά ισχυρή, ώστε να επιτρέπει την περιγραφή γλωσσών, όπως οι γλώσσες προγραμματισμού,

Διαβάστε περισσότερα

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

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 1 η : Parsers Συντακτική Ανάλυση για ΓΧΣ Οι τεχνικές συντακτικής ανάλυσης κατηγοριοποιούνται με βάση διάφορα κριτήρια: Κατεύθυνση ανάλυσης μη τερματικών συμβόλων Σειρά επιλογής

Διαβάστε περισσότερα

Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Λεκτικός Αναλυτής. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Λεκτικός Αναλυτής Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Οι Φάσεις της Μεταγλώττισης λεκτική ανάλυση συντακτική ανάλυση Πίνακας Συμβόλων σημασιολογική ανάλυση παραγωγή ενδιάμεσου κώδικα Διαχείριση

Διαβάστε περισσότερα

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

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Μοντελοποίηση Υπολογισμού Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Προβλήματα - Υπολογιστές Δεδομένου ενός προβλήματος υπάρχουν 2 σημαντικά ερωτήματα: Μπορεί να επιλυθεί με χρήση υπολογιστή;

Διαβάστε περισσότερα

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 4 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 4 ο Συντακτική Ανάλυση Επαλήθευση της σύνταξης του προγράμματος Κατασκευή συντακτικού δέντρου Η κεντρική φάση της Μετάφρασης Οδηγούμενης από τη Σύνταξη Από εδώ ξεκινά η παραγωγή

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

Διαβάστε περισσότερα

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

ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ. Μάθηµα 3.2: ηµήτρης Ψούνης ΠΛΗ30 ΕΝΟΤΗΤΑ 3: ΚΑΝΟΝΙΚΕΣ ΓΛΩΣΣΕΣ Μάθηµα 3.2: Ντετερµινιστικά Πεπερασµένα Αυτόµατα ηµήτρης Ψούνης 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήµατος Β. Θεωρία 1. Πεπερασµένα Αυτόµατα 1. Λειτουργία και Παραδείγµατα

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 1: Εισαγωγή Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {w 1w 2 w 1 {0,1} * και w 2 = 0 k 1 m όπου k και m

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 8: Υπολογισιμότητα & Γλώσσες

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 8: Υπολογισιμότητα & Γλώσσες Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 8: Υπολογισιμότητα & Γλώσσες Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Διαβάστε περισσότερα

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π. Θεωρία Υπολογισμού νότητα 15: Συντακτικά Δέντρα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις

Διαβάστε περισσότερα

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα { w#z w, z {a,b}* και η z είναι υπολέξη της w}. Συγκεκριμένα,

Διαβάστε περισσότερα

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Συντακτική Ανάλυση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Συντακτική Ανάλυση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μεταγλωττιστές Συντακτική Ανάλυση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Συντακτική Ανάλυση Το συντακτικό μιας γλώσσας καθορίζει ποιες συμβολοσειρές

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

Διαβάστε περισσότερα

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο

Εισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2016-2017 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 12: Μηχανές Turing ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 12: Μηχανές Turing Τι θα κάνουμε σήμερα Εισαγωγή στις Μηχανές Turing (TM) Τυπικός Ορισμός Μηχανής Turing (3.1.1) 1 Τι είδαμε μέχρι στιγμής Πεπερασμένα

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ Τελικές Εξετάσεις Απαντήστε όλα τα θέματα του Μέρους Α και ένα θέμα από

Διαβάστε περισσότερα

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρώτη Σειρά Ασκήσεων 27 Οκτωβρίου 2016 Μέρος Α. (χειρόγραφη και ηλεκτρονική παράδοση 11 Νοεμβρίου) Άσκηση 1: Θεωρήστε το ακόλουθο

Διαβάστε περισσότερα

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

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4ο εξάμηνοσhmμy 6η ενότητα: Αυτόματα, τυπικές γλώσσες, γραμματικές Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής http://www.corelab.ece.ntua.gr/courses/introcs

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μεταφραστές Λεκτικός αναλυτής Διδάσκων: Επικ. Καθ. Γεώργιος Μανής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Συντακτική Ανάλυση με το Εργαλείο BISON Γλώσσες Προγραμματισμού Μεταγλωττιστές Συντακτική Ανάλυση με το Εργαλείο BISON Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γεννήτριες Συντακτικών Αναλυτών Bison/yacc

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Σειρά Προβλημάτων 4 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 4 Λύσεις (α) Να διατυπώσετε την τυπική περιγραφή μιας μηχανής Turing (αυθεντικός ορισμός) η οποία να διαγιγνώσκει τη γλώσσα {1010 2 10 3 10 n 1 10 n 1 n 1}. (β) Να διατυπώσετε

Διαβάστε περισσότερα

Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις

Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις Κανονικές Εκφράσεις Στοιχειώδεις Κανονικές Εκφράσεις Κανονικές Εκφράσεις Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις ηµιουργία Κανονικών Εκφράσεων Παραδείγµατα Κανονικών Εκφράσεων Τις Κανονικές εκφράσεις

Διαβάστε περισσότερα

HEAD INPUT. q0 q1 CONTROL UNIT

HEAD INPUT. q0 q1 CONTROL UNIT Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Κανονικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Κανονικές Εκφράσεις (1.3) Τυπικός Ορισμός Ισοδυναμία με κανονικές γλώσσες Μη Κανονικές

Διαβάστε περισσότερα

Περιεχόμενα. 1 Υπολογισιμότητα. Ιστορία - Εισαγωγή. Μαθηματικό Υπόβαθρο. LOOP: Μια απλή γλώσσα προγραμματισμού

Περιεχόμενα. 1 Υπολογισιμότητα. Ιστορία - Εισαγωγή. Μαθηματικό Υπόβαθρο. LOOP: Μια απλή γλώσσα προγραμματισμού Αυτόματα και Τυπικές Γλώσσες Περιεχόμενα 1 Υπολογισιμότητα Ιστορία - Εισαγωγή Μαθηματικό Υπόβαθρο LOOP: Μια απλή γλώσσα προγραμματισμού LOOP-υπολογίσιμες και πρωταρχικές αναδρομικές συναρτήσεις Σταθερά

Διαβάστε περισσότερα

επιµέλεια Θοδωρής Πιερράτος

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

Διαβάστε περισσότερα