ΚΕΦΑΛΑΙΟ 3 ΣΥΝΤΑΚΤΙΚΑ ΣΤΟΙΧΕΙΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
|
|
- Σίβύλλα Ανδρεάδης
- 7 χρόνια πριν
- Προβολές:
Transcript
1 1 ΚΕΦΑΛΑΙΟ 3 ΣΥΝΤΑΚΤΙΚΑ ΣΤΟΙΧΕΙΑ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στόχος Στόχος του Κεφαλαίου αυτού είναι να περιγράψει µε σύντοµο τρόπο κάποια βασικά στοιχεία γλωσσών προγραµµατισµού τύπου Context-free (Γραµµατικές χωρίς συµφραζόµενα) µια και στη συνέχεια του βιβλίου θα αναφερόµαστε µόνο σε τέτοιες γλώσσες. Προσδοκώµενα αποτελέσµατα 'Οταν θα έχετε µελετήσει το κεφάλαιο αυτό θα µπορείτε να: εξηγήσετε γιατί χρησιµοποιούµε Context-free γραµµατικές στην σύνταξη των γλωσσών προγραµµατισµού αιτιολογήσετε γιατί οι Context-free γραµµατικές είναι ισχυρότερες από τις Κανονικές Εκφράσεις ή τις Κανονικές γραµµατικές δείξετε ότι µια γραµµατική είναι διφορούµενη αποδιφοροποιήσετε µια διφορούµενη γραµµατική περιγράψετε πώς παράγονται τα δένδρα ανίχνευσης ενός Συντακτικού Αναλυτή δώσετε τους τυπικούς ορισµούς του Chomsky για γραµµατικές τύπου 0, 1,2, και 3. Έννοιες κλειδιά Context-free γραµµατικές, γραµµατικές Chomsky, διφορούµενες γραµµατικές, συντακτικές κατηγορίες. Εισαγωγικές παρατηρήσεις Είδαµε στο προηγούµενο κεφάλαιο ότι η λεκτική δοµή των tokens µπορεί να προσδιοριστεί µε Κανονικές Εκφράσεις (ΚΕ) και ότι από τις ΚΕ µπορούµε αυτόµατα να κατασκευάσουµε ένα Λεκτικό Αναλυτή που αναγνωρίζει τις λεκτικές δοµές ( tokens) µιας γλώσσας. Με παρόµοιο τρόπο θα χειριστούµε στα επόµενα κεφάλαια την Συντακτική Aνάλυση (ΣΑ). Για τον συντακτικό καθορισµό µιας γλώσσας προγραµµατισµού θα χρησιµοποιήσουµε ένα συµβολισµό που καλείται ΒΝF (Βackus-Νaur-Form), και θα ασχοληθούµε µε γραµµατικές τύπου Context-Free ή αλλοιώς γραµµατικές Chomsky τύπου 2 (τις γραµµατικές αυτές θα τις ορίσουµε στην ενότητα 3.5). Θα περιγράψουµε πώς µια γραµµατική ορίζει µια γλώσσα, και θα εξετάσουµε ποιά χαρακτηριστικά γλωσσών προγραµµατισµού, µπορούν ή δεν µπορούν να οριστούν από γραµµατικές τύπου Context-free. εν πρόκειται να ασχοληθούµε µε την θεωρία τυπικών (formal) γλωσσών προγραµµατισµού, µια και αυτό είναι το αντικείµενο της Θεµατικής Υποενότητας Αυτόµατα και Τυπικές Γλώσσες αλλά θα αναφέρουµε µόνο εκείνα τα στοιχεία που είναι απολύτως απαραίτητα για να κατανοήσετε την λειτουργία της Συντακτικής Ανάλυσης.
2 2 ΕΝΟΤΗΤΑ 3.1 ΓΡAΜΜAΤΙΚΕΣ CΟΝΤΕΧΤ-FRΕΕ Είναι σύνηθες να ορίζουµε µερικές δοµές γλωσσών προγραµµατισµού µε ένα αναδροµικό τρόπο (recursively). Για παράδειγµα, εάν Ε σηµαίνει έκφραση (expression) και S i σηµαίνει εντολή (statement) τότε τα παρακάτω είναι επίσης εντολές (τα Ε i είναι επίσης εκφράσεις). if Ε then S 1 else S 2 (1) begin S 1 ; S 2 ; ; S n end (2) Μια έκφραση είναι και η Ε 1 +Ε 2 (3) Aν χρησιµοποιήσουµε τις συντακτικές κατηγορίες "statement", και "expression" στην κλάση των εντολών και των εκφράσεων αντίστοιχα, τότε η (1) µπορεί να γραφτεί σύµφωνα µε τον Κανόνα (Ρroduction -Rewriting Rule): statement if expression then statement else statement (4) η δε (3) µπορεί να γραφτεί σύµφωνα µε τον κανόνα: expression expression + expression Η (2) όµως παρουσιάζει πρόβληµα αν γραφτεί σαν: statement begin statement ;... ; statement end διότι χρειαζόµαστε κάθε κανόνας να έχει ακριβή αριθµό από σύµβολα. Για να γραφτεί η (2) σωστά χρειάζεται να εισάγουµε άλλη µια συντακτική κατηγορία την οποία θα ονοµάσουµε "statement-list". Η (2) τώρα µπορεί να περιγραφεί από τους εξής δυο κανόνες: statement begin statement-list end statement-list statement (5) statement; statement-list Όπου το σύµβολο " " σηµαίνει είτε. ηλαδή ο δεύτερος κανόνας της (5) έχει δυο εναλλακτικά δεξιά µέρη. Ένα σύνολο από κανόνες όπως η (5) είναι ένα παράδειγµα γραµµατικής. Μια γραµµατική περιλαµβάνει 4 οντότητες: Τερµατικά σύµβολα, Μη Τερµατικά σύµβολα, το Αρχικό σύµβολο και ένα σύνολο από Κανόνες (Τerminals, Νonterminals, Start Symbol, Ρroductions). Τερµατικά σύµβολα είναι τα βασικά σύµβολα που σχηµατίζουν τις συµβολοσειρές της γλώσσας. Τα tokens και τα τερµατικά σύµβολα είναι συνώνυµα στις γλώσσες προγραµµατισµού. Π.χ. begin, end, ;, + είναι τερµατικά σύµβολα. Μη Τερµατικά σύµβολα (συνώνυµα µε τις συντακτικές κατηγορίες και τις συντακτικές µεταβλητές), είναι ειδικά σύµβολα που υποδηλώνουν συµβολοσειρές οι οποίες εκφράζουν την συντακτική δοµή της γλώσσας (πχ το statement στον κανόνα: statement begin statement-list end ). Ένα από τα Μη Τερµατικά σύµβολα έχει επιλεγεί σαν Αρχικό σύµβολο και υποδηλώνει την γλώσσα. Κανόνες είναι οι συντακτικοί κανόνες που καθορίζουν τους τρόπους µε τους οποίους οι συντακτικές κατηγορίες µπορούν να κατασκευαστούν η µια από την άλλη και από τα Τερµατικά σύµβολα. Οι κανόνες συνίστανται από ένα Μη Τερµατικό σύµβολο ακολουθούµενο από ένα (ή
3 3 ::=) και ακολουθούµενο από µια συµβολοσειρά αποτελούµενη από Τερµατικά και Μη Τερµατικά σύµβολα. Με τον συµβολισµό BNF (Backus-Naur-Form), η (5) περιγράφεται από τους παρακάτω κανόνες statement begin statement-list end statement-list statement statement-list statement; statement-list Παράδειγµα 1 / Κεφ. 3. Μια Context-free γραµµατική η οποία µπορεί να περιγράψει απλές αριθµητικές εκφράσεις είναι η (6) η οποία έχει σαν Μη Τερµατικά σύµβολα τα Ε και Α, µε το Ε να είναι το Αρχικό σύµβολο. Τα δε Τερµατικά σύµβολα είναι τα: + - * / ( ) Τέλος οι Κανόνες είναι οι: (6) Ε Ε A Ε (Ε) - Ε A + - * / Οι περισσότεροι συµβολισµοί που θα συναντήσουµε στη συνέχεια του βιβλίου είναι προφανείς, εκτός των εξής συµβάσεων: Κεφαλαία γράµµατα από το τέλος της Λατινικής αλφαβήτου (Χ,Υ,Ζ κλπ) παριστάνουν είτε Μη Τερµατικά είτε Τερµατικά. Μικρά γράµµατα από το τέλος της Λατινικής αλφαβήτου (u,v,...,z) παριστάνουν συµβολοσειρές από Τερµατικά. Μικρά Ελληνικά (α,β,γ) παριστάνουν συµβολοσειρές από σύµβολα της γραµµατικής. (δηλαδή συµβολοσειρές από Τερµατικά ή/και Μη Τερµατικά σύµβολα) Π.χ. A α 1 Η σειρά από τους Κανόνες A α 1, A α 2,..., A α k (A- Κανόνες) συντοµεύεται στην A α 1 α 2... α k, όπως έγινε στο (6) ΥΝΑΤΟΤΗΤΕΣ ΤΩΝ CONTXT-FR ΓΡΑΜΜΑΤΙΚΩΝ (CF) Οι Context-free γραµµατικές µπορούν να περιγράψουν την περισσότερη, αλλά όχι ολόκληρη την σύνταξη των γλωσσών προγραµµατισµού (A. V. Aho, R. Sethi, J. D. Ullman, Compilers: Ρrinciples techniques, and Tools, Addison-Wesley, 1986). Είδαµε ότι οι Κανονικές Εκφράσεις περιγράφουν την σύνταξη των tokens. Οποιαδήποτε συντακτική δοµή περιγράφεται από Κανονικές Εκφράσεις µπορεί επίσης να περιγραφεί και από κάποια Context-free γραµµατική. Παράδειγµα 2 / Κεφ. 3. Κανονική Έκφραση: (a b) (a b 0 1)* και η CF γραµµατική: S aa ba A aa ba 0A 1A ε
4 4 περιγράφουν την ίδια γλώσσα διότι και οι δυο δηµιουργούν τις ίδιες συµβολοσειρές τερµατικών συµβόλων. ιάφοροι λόγοι µας αναγκάζουν να χρησιµοποιούµε Κανονικές Εκφράσεις αν και θα µπορούσαµε να χρησιµοποιήσουµε Context-free γραµµατικές αντ' αυτών. Πρώτον οι λεκτικοί κανόνες είναι απλοί και δεν χρειάζεται συµβολισµός τύπου Context-free γραµµατικών οι οποίοι είναι δυσκολότεροι να γίνουν αντιληπτοί. εύτερον είναι ευκολότερο να κατασκευάσουµε αναγνωριστές (recognizers) από τις Κανονικές Εκφράσεις παρά από Context-free γραµµατικές. εν υπάρχουν ακριβείς οδηγίες για το τι πρέπει να περιληφθεί στους λεκτικούς κανόνες και τι στους συντακτικούς. Οι Κανονικές Εκφράσεις είναι πιο κατάλληλες για να περιγράφουν τη δοµή των λεκτικών κατασκευών (entifiers, constants, keywords, κλπ), ενώ οι Context-free γραµµατικές είναι απαραίτητες για την περιγραφή απεριόριστα φωλιασµένων δοµών (begin - end, if - then - else, κλπ). Άσκηση Αυτοαξιολόγησης 1 / Κεφ. 3 Μπορείτε να εξηγήσετε πού και γιατί χρησιµοποιούνται οι Κανονικές Εκφράσεις και πού οι Context Free γραµµατικές στις γλώσσες προγραµµατισµού; ΕΝΟΤΗΤΑ 3.2 ΗΜΙΟΥΡΓΙA ΤΩΝ ΕΝ ΡΩΝ AΝΙΧΝΕΥΣΗΣ Στην γραµµατική Ε Ε + Ε Ε * Ε (Ε) -Ε (7) όπου Ε σηµαίνει έκφραση, ο Κανόνας Ε -Ε δηλώνει ότι µια έκφραση µε µείον µπροστά της είναι επίσης µια έκφραση. Aυτό περιγράφεται από την σχέση Ε -Ε που διαβάζεται: "η Ε παράγει (derives) - Ε". Η Ε (Ε) λέει ότι µπορούµε να αντικαταστήσουµε µια εµφάνιση της Ε σε οποιαδήποτε συµβολοσειρά από σύµβολα της γραµµατικής, µε (Ε). Μια άλλη περίπτωση είναι η: Ε -Ε -(Ε) -() µια τέτοια ακολουθία αντικαταστάσεων ονοµάζεται παραγωγή (derivation) του -() από το Ε. Σε πιο αφηρηµένη µορφή λέµε ότι αaβαγβ αν A γ είναι ένας Κανόνας και α και β είναι αυθαίρετες συµβολοσειρές από σύµβολα της γραµµατικής. Aν α 1 α 2... α n, λέµε ότι η α 1 παράγει α n. Το σύµβολο µεταφράζεται σε "παράγει σε ένα βήµα", ενώ το * µεταφράζεται σε "παράγει σε µηδέν ή περισσότερα βήµατα". Έτσι ισχύει ότι: 1. α * α συµβολοσειρά α ( = για κάθε) 2. αν α * β και β γ, τότε α * γ Aκόµη α + β σηµαίνει "το α παράγει β σε ένα ή περισσότερα βήµατα". οθείσης µιας context-free γραµµατικής G µε Αρχικό σύµβολο S µπορούµε να χρησιµοποιήσουµε την σχέση + για να ορίσουµε την L(G) (την γλώσσα που δηµιουργείται από την G). Οι συµβολοσειρές της L(G) µπορούν να περιέχουν µόνο Τερµατικά σύµβολα της G. Λέµε ότι µια συµβολοσειρά w από Τερµατικά ανήκει στην L(G) εάν και µόνο εάν S + w. Η
5 5 συµβολοσειρά w καλείται πρόταση (sentence) της G. Εάν S * α, όπου το α µπορεί να περιέχει και Μη Τερµατικά, τότε λέµε ότι το α είναι µια προτασιακή µορφή (sentential form) της γραµµατικής G. Άσκηση Αυτοαξιολόγησης 2 / Κεφ. 3 Μπορείτε να εξηγήσετε γιατί η συµβολοσειρά -(+ ) είναι µια από τις προτάσεις της γλώσσας που προκύπτει από την γραµµατική (7); Για να καταλάβουµε καλύτερα πώς λειτουργούν µερικοί Συντακτικοί Αναλυτές θα θεωρήσουµε παραγωγές (derivations) στις οποίες µόνο το αριστερότερο Μη Τερµατικό σύµβολο µιας προτασιακής µορφής αντικαθίσταται σε κάθε βήµα. Τέτοιες παραγωγές καλούνται αριστερές παραγωγές (Leftmost Derivations). Aνάλογα ορίζονται και οι δεξιές παραγωγές (Rightmost Derivations). Μια γραφική απεικόνιση των παραγωγών είναι τα ένδρα Ανίχνευσης Σαν παράδειγµα ας δούµε την παραγωγή Ε + -( + ) (8) µε βήµατα. Κατ' αρχήν θεωρούµε το Ε σαν ρίζα του αρχικού δένδρου και εφαρµόζοντας µε σειρά τους κανόνες Ε -Ε, Ε (Ε), Ε Ε+Ε, Ε, και Ε παίρνουµε την παρακάτω σειρά από παραγωγές οι οποίες αντιστοιχούν στην τµηµατική κατασκευή του δένδρου ανίχνευσης όπως δείχνεται στο Σχήµα 3.1. Ε -Ε -(Ε) -(Ε+Ε) -(+Ε) -(+) ( ) ( ) ( ) ( ) + + Σχήµα 3.1 Αριστερή παραγωγή του δένδρου ανίχνευσης της πρότασης (+)
6 6 ραστηριότητα 1 / Κεφ. 3 Η πρόταση +* της γραµµατικής (7), έχει δύο διαφορετικές αριστερές παραγωγές. Μπορείς να εξηγήσεις γιατί; + * + + * + * + * + * + * + * + * µε δύο αντίστοιχα δένδρα ανίχνευσης : + * * + (α) (β) Σχήµα 3.2 Τα δένδρα ανίχνευσης της πρότασης +* Πράγµατι αν ξεκινήσετε µε τον κανόνα Ε Ε+Ε θα καταλήξετε στο δένδρο (α) που αντιστοιχεί στην άνω αριστερά παραγωγή του Σχήµατος 3.2 ενώ αν ξεκινήσετε µε τον κανόνα Ε Ε*Ε θα καταλήξετε στο δένδρο (β) το οποίο αντιστοιχεί στην άνω δεξιά παραγωγή του ίδιου σχήµατος. Ο λόγος για τον οποίο η πρόταση +* έχει δύο διαφορετικά δένδρα ανίχνευσης είναι διότι η γραµµατική (7) είναι διφορούµενη. Αν παρατηρήσετε λίγο την γραµµατική αυτή θα δείτε ότι δεν εκφράζει τις προτεραιότητες ούτε τις προσεταιριστικότητες των τελεστών. Για παράδειγµα η γραµµατική αυτή υποδηλώνει ότι οι τελεστές + και * έχουν την ίδια προτεραιότητα. Επιπλέον δεν έχουµε τρόπο να αποφασίσουµε ποιόν από τους εναλλακτικούς κανόνες πρέπει να χρησιµοποιήσουµε σε κάθε παραγωγή. Έτσι µπορούµε να φτιάξουµε είτε το ένα δένδρο είτε το άλλο. ΕΝΟΤΗΤΑ 3.3 ΙΦΟΡΟΥΜΕΝΕΣ ΓΡΑΜΜΑΤΙΚΕΣ ιφορούµενη/ασαφής λέγεται µια γραµµατική η οποία παράγει περισσότερα από ένα δένδρα ανίχνευσης, για µια πρόταση. Για ορισµένους τύπους συντακτικών αναλυτών, θέλουµε η γραµµατική να γίνει σαφής γιατί αλλιώς δεν µπορούµε να προσδιορίσουµε ένα µοναδικό δένδρο για µια πρόταση. Σε µερικές περιπτώσεις γίνεται χρήση ιφορούµενων γραµµατικών µαζί µε κανόνες αποσαφήνισης.
7 7 Έστω η γραµµατική: Ε Ε+Ε Ε-Ε Ε*Ε Ε/Ε Ε Ε (Ε) -Ε (9) Η γραµµατική αυτή όπως και η (7) είναι διφορούµενη. Μπορούµε όµως να αποδιφοροποιήσουµε και τις δύο, καθορίζοντας προσεταιριστικότητα και προτεραιότητα στους τελεστές. Ας υποθέσουµε ότι θέλουµε να τους δώσουµε τις γνωστές από τα Μαθηµατικά προτεραιότητες: - (unary minus) * / + - και επίσης να ορίσουµε τον τελεστή να είναι δεξιά προσεταιριστικός [δηλαδή, a b c = a (b c)], και τους υπόλοιπους τελεστές να είναι αριστεράπροσεταιριστικοί.[δηλαδή, a-b-c = (a-b)-c]. Σύµφωνα µε τους κανόνες αυτούς το δένδρο (β) του Σχήµατος 3.2 δεν είναι σωστό για την πρόταση +*, µια και εδώ εµφανίζεται το + να έχει µεγαλύτερη προτεραιότητα από το *. Μπορούµε να ξαναγράψουµε τις γραµµατικές ενσωµατώνοντας σε αυτές τους κανόνες προσεταιρισµού και προτεραιότητας. Παράδειγµα 3 / Κεφ. 3 Ας πάρουµε την διφορούµενη γραµµατική (9). Κατ' αρχήν εισάγουµε ένα Μη Τερµατικό σύµβολο για κάθε επίπεδο προτεραιότητας. Ονοµάζουµε Εlement µια υποέκφραση η οποία είναι µη υποδιαιρέσιµη άρα είναι είτε ένας entifier ή µια έκφραση µε παρενθέσεις. Έχουµε λοιπόν τον κανόνα: element (expression) Κατόπιν εισάγουµε την κατηγορία των primaries τα οποία είναι elements µε ένα περισσότερους από τους τελεστές µε την µεγαλύτερη προτεραιότητα: primary - primary element Κατόπιν εισάγουµε τα factors σαν ακολουθίες από ένα ή περισσότερα primaries συνδεδεµένα µε τον τελεστή ύψωσης σε δύναµη ( ) factor primary factor primary Σηµειώνουµε ότι η εκλογή primary factor, αντί του factor primary κάνει τις εκφράσεις a b c να οµαδοποιούνται σαν a (b c). Στη συνέχεια εισάγουµε το term, που είναι ακολουθία από ένα ή περισσότερα factors που συνδέονται µε τους τελεστές πολλαπλασιασµού (*, /). term term * factor term / factor factor Οι κανόνες αυτοί αναγκάζουν τα terms να οµαδοποιούνται από τα αριστερά [δηλαδή, a * b * c = (a * b) * c]. Τέλος τα expressions είναι ακολουθίες από ένα ή περισσότερα terms και συνδέονται µε τους προσθετικούς τελεστές (+,-). xpression expression+term expression-term term Και εδώ ο κανόνας επιβάλλει αριστερή προσεταιριστικότητα. ή Έτσι η απο-διφοροποιηµένη γραµµατική είναι η:
8 8 expression expression + term (10) expression - term term term term * factor term / factor factor factor Ρrimary factor Ρrimary Ρrimary -Ρrimary element element (expression) ραστηριότητα 2 / Κεφ. 3 Το παρακάτω κοµµάτι µιάς Context Free γραµµατικής δηµιουργεί εντολές υπό συνθήκη. Όµως η γραµµατική αυτή είναι διφορούµενη. Μπορείτε να εξηγήσετε γιατί και στη συνέχεια να την αποδιφοροποιήσετε; Το πρώτο µέρος είναι εύκολο, το δεύτερο όµως είναι µάλλον δύσκολο γιαυτό να µην απογοητευθείτε αν δεν τα καταφέρετε. stat if cond then stat if cond then stat else stat (11) other stat Για να δούµε αν η γραµµατική (11) είναι διφορούµενη πρέπει να εξετάσουµε µήπως για κάποια πρότασή της προκύπτουν περισσότερα από ένα δένδρα ανίχνευσης. Έτσι βλέπουµε ότι η πρόταση if C 1 then S 1 else if C 2 then S 2 else S 3 θα δώσει το παρακάτω δένδρο: stat if cond then stat else stat C 1 S 1 if cond then stat else stat C 2 S 2 S 3 Σχήµα 3.3 ένδρο ανίχνευσης της if C 1 then S 1 else if C 2 then S 2 else S 3 Η (11) όµως είναι τελικά διφορούµενη διότι η πρόταση if C 1 then if C 2 then S 1 else S 2 (12) έχει τα δύο δένδρα ανίχνευσης που δίνονται στο Σχήµα 3.4. Σε όλες τις γλώσσες προγραµµατισµού που περιέχουν τέτοιες εντολές προτιµάται το δένδρο (α). Ο γενικός κανόνας που χρησιµοποιείται είναι: κάθε else να ζευγαρώνεται µε το πλησιέστερο προηγούµενο αζευγάρωτο then. Aυτό αποτελεί τον κανόνα αποδιφοροποίησης ο οποίος, αν θέλουµε, µπορεί να εισαχθεί στην γραµµατική (11) και να πάρουµε την εξής:
9 9 stat matched - stat unmatched - stat matched - stat if cond then matched - stat else matched - stat other - stat unmatched - stat if cond then stat if cond then matched - stat else unmatched - stat Η γραµµατική αυτή δηµιουργεί τις ίδιες συµβολοσειρές µε την (11) αλλά επιτρέπει ένα µόνο δένδρο για την (12), δηλαδή αυτό που συσχετίζει κάθε else µε το προηγούµενο αζευγάρωτο then. Στο Κεφάλαιο 4 θα δούµε και ένα άλλο τρόπο αποδιφοροποίησης της (11). stat if cond then stat (α) C 1 if cond then stat else stat C 2 S 1 S 2 stat if cond then stat else stat (β) C 1 if cond then stat S 2 C 2 Σχήµα 3.4 Τα δένδρα ανίχνευσης της if C 1 then if C 2 then S 1 else S 2 Άσκηση Αυτοαξιολόγησης 3 / Κεφ. 3 S 1 Σας δίνεται η διφορούµενη γραµµατική ( όπου con υποδηλώνει constant ) Ε Ε+Ε Ε*Ε (Ε) con Προσπαθείστε να την αποδιφοροποιήσετε εφαρµόζοντας την µεθοδολογία που περιγράψαµε στην ενότητα 3.3. ΕΝΟΤΗΤΑ 3.4 ΙΕΡΑΡΧΙΑ ΓΛΩΣΣΩΝ ΚΑΤΑ CΗΟΜSΚΥ Ο Chomsky καθόρισε τέσσερις βασικές κλάσεις γλωσσών µέσω γραµµατικών, οι οποίες είναι τετράδες (V,Τ,Ρ,Ζ) όπου: 1. V είναι η αλφάβητος (Τερµατικά και Μη Τερµατικά σύµβολα)
10 10 2. Τ, (Τ V) είναι το σύνολο των τερµατικών συµβόλων 3. Ρ είναι ένα πεπερασµένο σύνολο από κανόνες (επαναγραφής) και 4. Ζ είναι το αρχικό ή διακεκριµένο σύµβολο της γραµµατικής. Η γλώσσα µιας γραµµατικής είναι το σύνολο των τερµατικών ακολουθιών (terminal strings) τα οποία µπορούν να δηµιουργηθούν από το αρχικό σύµβολο Ζ. Η διαφορά µεταξύ των τεσσάρων τύπων γραµµατικών ευρίσκεται στην µορφή των κανόνων επαναγραφής που επιτρέπονται στο Ρ. Μία γραµµατική G είναι (Chomsky) τύπου 0 ή phrase structure γραµµατική αν οι κανόνες του Ρ έχουν την µορφή (0) u v, µε u V + και v V* ηλαδή, το αριστερό u µπορεί να είναι µια ακολουθία συµβόλων και το δεξιό µέρος να είναι άδειο. Μια γραµµατική G είναι τύπου 1 ή context sensitive (εξαρτώµενη από το περιβάλλον κείµενο) όταν περιορίσουµε τους κανόνες επαναγραφής στην µορφή: (1) xuy xuy, µε U V-Τ, x,y V*, και u V + Ο όρος context sensitive αναφέρεται στο γεγονός ότι επιτρέπεται να ξαναγράψουµε το U σαν u µόνο µέσα στο περιβάλλον x...y. Μια γραµµατική G είναι τύπου 2 ή Context-Free (ανεξάρτητη περιβάλλοντος) αν όλοι οι κανόνες έχουν την µορφή: (2) U u, µε U V-Τ και u V* Η κλάση αυτή καλείται ανεξάρτητη περιβάλλοντος διότι το U µπορεί να ξαναγραφεί σαν u ανεξάρτητα από το υπόλοιπο περιβάλλον κείµενο στο οποίο ευρίσκεται το U. Όπως φαίνεται από τον ορισµό σε µια CF γραµµατική ένας κανόνας µπορεί να έχει την µορφή U ε (ε=κενό). οθείσης µιας CF γραµµατικής G, µπορεί να κατασκευασθεί µια ε-free γραµµατική G1 (η οποία δεν περιέχει κανόνα της µορφής U ε), τέτοια ώστε L(G1) = L(G) - {ε}. Επιπλέον αν η G είναι µη διφορούµενη τέτοια είναι και η G1. Περιορίζοντας τους κανόνες ακόµη περισσότερο, στην µορφή : (3) U Ν ή U WΝ, µε Ν Τ, και U και W V-Τ έχουµε µια γραµµατική τύπου 3 ή Κανονική γραµµατική (Regular grammar). Παράδειγµα 4 / Κεφ. 3 Παραδείγµατα κανόνων από Κανονικές Γραµµατικές Παρατηρήστε ότι τα Μη Τερµατικά σύµβολα µπορούν να περιβάλλονται από < και > για λόγους καλύτερης αναγνωσιµότητας των κανόνων. <s-delim> + - ( ) <d-delim> <slash> / <slash>* <ast>* <colon> = <slash> / <ast> * <colon> :
11 11 Άσκηση Αυτοαξιολόγησης 4 / Κεφ. 3 Οι Κανονικές Εκφράσεις για ονόµατα µεταβλητών και για ακέραιες σταθερές είναι l(l d)* και d(d)* αντίστοιχα ( l υποδηλώνει letter και d υποδηλώνει digit). Προσπαθήστε να τις γράψετε µε την βοήθεια των Κανονικών γραµµατικών. ΣΥΝΟΨΗ ΚΕΦΑΛΑΙΟΥ Στο κεφάλαιο αυτό είδαµε µια άτυπη περιγραφή των γραµµατικών τύπου Context Free που είναι οι γραµµατικές οι οποίες κατά κύριο λόγο χρησιµοποιούνται για τον συντακτικό ορισµό των γλωσσών προγραµµατισµού. Αναφέραµε βέβαια και τους τυπικούς ορισµούς του Chomsky για λόγους πληρότητας αλλά και για να αναφερθούµε και στις Κανονικές γραµµατικές µε τις οποίες είδαµε ότι µπορούµε να εκφράσουµε τις λεκτικές δοµές των γλωσσών προγραµµατισµού. Επειδή οι Κανονικές γραµµατικές είναι στην ουσία υποσύνολο των Context Free γραµµατικών θα µπορούσαµε να πούµε ότι µε τις Context Free γραµµατικές µπορούµε να εκφράσουµε ολόκληρη την συντακτική και λεκτική δοµή των γλωσσών. ώσαµε έµφαση στις παραγωγές από το Αρχικό σύµβολο της γραµµατικής και ορίσαµε την πρόταση και την προτασιακή µορφή τις οποίες θα χρησιµοποιήσουµε στο επόµενο κεφάλαιο. Έµφαση, και µάλιστα ιδιαίτερη, δώσαµε στις διφορούµενες γραµµατικές και στο πώς τις αποδιφοροποιούµε. Απάντηση άσκησης 1 /κεφ. 3 Οι Κανονικές Εκφράσεις χρησιµοποιούνται στις γλώσσες προγραµµατισµού για να περιγράψουν τις λεκτικές τους δοµές, δηλαδή τα tokens. Αντίθετα, για να περιγράψουµε τις συντακτικές δοµές της γλώσσας (εντολές) χρησιµοποιούµε τις Context Free γραµµατικές. Μπορούµε φυσικά να χρησιµοποιήσουµε Context Free γραµµατικές για να περιγράψουµε και τις λεκτικές δοµές της γλώσσας, όµως επειδή οι Context Free γραµµατικές είναι πολύ πιο ισχυρό εργαλείο από τις Κανονικές Εκφράσεις, είναι και πολύ πιο δύσκολο να φτιάξουµε αναγνωριστές για Context Free γραµµατικές απότι είναι για Κανονικές Εκφράσεις. Απάντηση άσκησης 2 /κεφ. 3 Μια συµβολοσειρά από τερµατικά σύµβολα µιας γραµµατικής είναι πρόταση της γλώσσας που δηµιουργείται από την γραµµατική αυτή εάν προκύπτει µέσα από µια σειρά παραγωγών οι οποίες ξεκινούν από το Αρχικό σύµβολο της γραµµατικής. Έτσι, δεδοµένου ότι το Αρχικό σύµβολο της γραµµατικής (7) είναι το Ε, µε την παρακάτω σειρά παραγωγών καταλήγουµε στην πρόταση -( + ). Ε -Ε -(Ε) -(Ε+Ε) -(Ε + ) -( + ) Η παραγωγή αυτή είναι δεξιότερη παραγωγή. Στην ίδια πρόταση µπορείτε να καταλήξετε και µε την εξής αριστερότερη παραγωγή Ε -Ε -(Ε) -(Ε+Ε) -( +Ε) -( + )
12 12 Οι συµβολοσειρές -Ε, -(Ε), -( Ε+Ε), -(Ε+ ) και ( +Ε) είναι προτασιακές µορφές. Απάντηση άσκησης 3 /κεφ. 3 Ο λόγος που η γραµµατική αυτή είναι διφορούµενη είναι διότι έχοντας ένα µόνο κανόνα µε πέντε εναλλακτικά δεξιά µέρη ορίζει ένα µόνο επίπεδο προτεραιότητας και έτσι οι τελεστές +, * αλλά και οι µη υποδιαιρέσιµες εκφράσεις (Ε), και con έχουν όλα την ίδια προτεραιότητα. Θυµηθήτε ότι για να ορίσουµε τις προτεραιότητες εισάγουµε καινούρια Μη Τερµατικά σύµβολα (τα οποία τα είχαµε αναφέρει ως συντακτικές κατηγορίες). Επίσης η γραµµατική αυτή δεν εκφράζει ούτε την προσεταιριστικότητα των τελεστών. Και πάλι θυµηθήτε ότι την προσεταιριστικότητα την εκφράζουµε µε τον τρόπο που γράφουµε τους κανόνες. Για παράδειγµα ο κανόνας Χ Χ@Υ αποδίδει αριστερή προσεταιριστικότητα για τον ενώ αντίθετα ο κανόνας Χ Υ@Χ αποδίδει δεξιά προσεταιριστικότητα για τον Μετά από αυτά µπορούµε να προχωρήσουµε στην αποδιφοροποίηση. Εισάγουµε πρώτα ένα νέο Μη Τερµατικό σύµβολο lem για τις µη διαιρέσιµες εφράσεις µε την υψηλότερη προτεραιότητα, lem (Ε) con Κατόπιν εισάγουµε το σύµβολο Fact για τον τελεστή πολλαπλασιασµού ο οποίος είναι αριστερά προσεταιριστικός και έχει την αµέσως χαµηλότερη προτεραιότητα. Fact Fact * lem lem Τέλος, έχουµε το Αρχικό σύµβολο της γραµµατικής Ε για τον τελεστή πρόσθεσης που έχει την χαµηλότερη προτεραιότητα και είναι επίσης αριστερά προσεταιριστικός. + Fact Fact Έτσι η αρχική διφορούµενη γραµµατική Ε Ε+Ε Ε*Ε (Ε) con Μετασχηµατίστηκε στην αποδιφοροποιηµένη µορφή + Fact Fact Fact Fact * lem lem lem (Ε) con Απάντηση άσκησης 4 /κεφ. 3 Οι Κανονικές γραµµατικές σύµφωνα µε τον ορισµό τους έχουν την µορφή U Ν ή U WΝ, µε Ν Τ και U και W V-Τ Έτσι, αν συµβολίσουµε το l µε letter και το d µε digit, για πιο ευανάγνωστους κανόνες, και επιπλέον χρησιµοποιήσουµε τα Μη Τερµατικά σύµβολα <> και <int> για να εκφράσουµε τα
13 13 ονόµατα µεταβλητών και τις ακέραιες σταθερές αντίστοιχα τότε οι παρακάτω κανόνες είναι οι ζητούµενοι µια και παράγουν τις ίδιες συµβολοσειρές τερµατικών συµβόλων. <> letter <> letter <>digit <int> digit <int> digit Παρατηρήστε ότι η Κανονική Έκφραση d(d)* θα µπορούσε να είχε δοθεί και µε τον ισοδύναµο ορισµό της d + χωρίς φυσικά να αλλάξει τίποτα.
Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.
Γενικές Παρατηρήσεις Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα () Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Υπάρχουν µη κανονικές γλώσσες, π.χ., B = { n n n }. Αυτό
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 2 ο Αλφάβητα και Γλώσσες Αλφάβητο: Ένα μη κενό και πεπερασμένο σύνολο συμβόλων Γλώσσα: Ένα οποιοδήποτε υποσύνολο των συμβολοσειρών ενός αλφαβήτου (οι προτάσεις της γλώσσας, πχ.
Διαβάστε περισσότεραΠοιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);
Μοντελοποίηση του Υπολογισµού Στοιχεία Θεωρίας Υπολογισµού (): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ποιές οι θεµελιώδεις δυνατότητες
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές
Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού 1 /
Διαβάστε περισσότεραΜεταγλωττιστές. Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 2: Τυπικές γλώσσες (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότερα3 Αναδροµή και Επαγωγή
3 Αναδροµή και Επαγωγή Η ιδέα της µαθηµατικής επαγωγής µπορεί να επεκταθεί και σε άλλες δοµές εκτός από το σύνολο των ϕυσικών N. Η ορθότητα της µαθηµατικής επαγωγής ϐασίζεται όπως ϑα δούµε λίγο αργότερα
Διαβάστε περισσότεραΓλώσσες που περιγράφονται από Κανονικές Εκφράσεις
Κανονικές Εκφράσεις Στοιχειώδεις Κανονικές Εκφράσεις Κανονικές Εκφράσεις Γλώσσες που περιγράφονται από Κανονικές Εκφράσεις ηµιουργία Κανονικών Εκφράσεων Παραδείγµατα Κανονικών Εκφράσεων Τις Κανονικές εκφράσεις
Διαβάστε περισσότεραΣχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι. Εαρινό Εξάμηνο Lec 05 & & 26 /02/2019 Διδάσκων: Γεώργιος Χρ.
Σχεδίαση Γλωσσών Προγραμματισμού Λεξική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 05 & 06 25 & 26 /02/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 14: Γραμματικές Χωρίς Συμφραζόμενα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΣχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι Εαρινό Εξάμηνο 2018-2019 Lec 09 18 /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Φάσεις μεταγλώττισης Αρχικό Πρόγραμμα Λεκτική Ανάλυση λεκτικές μονάδες Πίνακας
Διαβάστε περισσότεραΜεταγλωττιστές. Εργαστήριο 5. Εισαγωγή στο BISON. Γεννήτρια Συντακτικών Αναλυτών. 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση
Μεταγλωττιστές Εργαστήριο 5 Εισαγωγή στο BISON Γεννήτρια Συντακτικών Αναλυτών 2 η Φάση Μεταγλώττισης Συντακτική Ανάλυση Διδάσκοντες: Δρ. Γεώργιος Δημητρίου Δρ. Άχμεντ Μάχντι 2015-1016 Φάσεις Μεταγλώττισης
Διαβάστε περισσότεραΣχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII. Εαρινό Εξάμηνο Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση ΙII Εαρινό Εξάμηνο 2018-2019 Lec 11 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Γραμματικές Μία γραμματική ονομάζεται αναδρομική εφόσον επιτρέπει παραγωγές
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Λογισμικό Συστήματος. Κλειώ Σγουροπούλου
Λογισμικό Συστήματος Κλειώ Σγουροπούλου Λογισμικό συστήματος Λειτουργικό σύστημα Μεταφραστές γλώσσας (translators) Διερμηνείς (interpreters) Μεταγλωττιστές (compilers) Εκδότες (editors) Φορτωτές (loaders)
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού
Διαβάστε περισσότεραΚεφάλαιο 2: Τυπικές γλώσσες
Κεφάλαιο 2: Τυπικές γλώσσες (μέρος 2ο) Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 47 / 216 Γλώσσες χωρίς συμφραζόμενα (i) Γραμματικές χωρίς συμφραζόμενα: Σε κάθε παραγωγή ένα μη τερματικό
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη γραμματική με κανόνες: Α B a A a c B B b A b
Διαβάστε περισσότεραΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)
ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων) Τι θα κάνουμε σήμερα Εισαγωγικά Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Της Ασυμφραστικής
Διαβάστε περισσότεραΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων
ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ 2 Ο Εργαστηριακό Μάθημα Λεξική Ανάλυση Σκοπός: Το μάθημα αυτό αναφέρεται: Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση Στη δήλωση ορισμό κανονικών εκφράσεων Θεωρία Πρόλογος
Διαβάστε περισσότεραΜεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Συντακτική Ανάλυση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Μεταγλωττιστές Συντακτική Ανάλυση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Συντακτική Ανάλυση Το συντακτικό μιας γλώσσας καθορίζει ποιες συμβολοσειρές
Διαβάστε περισσότεραΜεταγλωττιστές. Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 7: Συντακτική ανάλυση (Μέρος 1 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΣηµειώσεις στις συναρτήσεις
Σηµειώσεις στις συναρτήσεις 4 Η έννοια της συνάρτησης Ο όρος «συνάρτηση» χρησιµοποιείται αρκετά συχνά για να δηλώσει ότι ένα µέγεθος, µια κατάσταση κτλ εξαρτάται από κάτι άλλο Και στα µαθηµατικά ο όρος
Διαβάστε περισσότεραΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ
ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Ενότητα 5: Μη κανονικές γλώσσες Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραΚεφάλαιο 6 Παράγωγος
Σελίδα από 5 Κεφάλαιο 6 Παράγωγος Στο κεφάλαιο αυτό στόχος µας είναι να συνδέσουµε µία συγκεκριµένη συνάρτηση f ( ) µε µία δεύτερη συνάρτηση f ( ), την οποία και θα ονοµάζουµε παράγωγο της f. Η τιµή της
Διαβάστε περισσότεραΘεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)
Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ασυμφραστικές Γραμματικές (2.1) Τυπικός Ορισμός Σχεδιασμός Ασυμφραστικών Γραμματικών
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.
ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις
Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Υπολογισµού
Διαβάστε περισσότεραΓραµµατικές για Κανονικές Γλώσσες
Κανονικές Γραµµατικές Γραµµατικές για Κανονικές Γλώσσες Ταξινόµηση Γραµµατικών εξιά Παραγωγικές Γραµµατικές εξιά Παραγωγικές Γραµµατικές και NFA Αριστερά Παραγωγικές Γραµµατικές Κανονικές Γραµµατικές Γραµµατικές
Διαβάστε περισσότεραΓενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα
Γενικό πλάνο Μαθηµατικά για Πληροφορική 3ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 14/10/2008 1 Παράδειγµα δοµικής επαγωγής 2 Ορισµός δοµικής
Διαβάστε περισσότεραΜαθηµατικά για Πληροφορική
Μαθηµατικά για Πληροφορική 3ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 14/10/2008 14/10/2008 1 / 24 Γενικό πλάνο 1 Παράδειγµα δοµικής επαγωγής
Διαβάστε περισσότεραΜεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Μεταγλωττιστές Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανοδική Κατασκευή Συντακτικού Δέντρου κατασκευή δέντρου
Διαβάστε περισσότεραΚατηγορικές Γραµµατικές
Κατηγορικές Γραµµατικές Γραµµατικές Χωρίς περιορισµούς Με συµφραζόµενα Χωρίς συµφραζόµενα Κανονικές Πεπερασµένων επιλογών Κατηγορικές Ενεργοποίησης Γραµµατικές G = { T, N, P, S } Τ: αλφάβητο τερµατικών
Διαβάστε περισσότεραΜεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών
Γιώργος Δημητρίου Μάθημα 1 ο Γλώσσα - Μετάφραση Γλώσσα προγραμματισμού = Αναπαράσταση αλγορίθμων Ευκολία χρήσης Ακρίβεια και πληρότητα περιγραφής, όχι διφορούμενη! Μία περιγραφή για όλες τις μηχανές Μετάφραση
Διαβάστε περισσότερα1.1 A. ΟΙ ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΚΑΙ ΟΙ
. A. ΟΙ ΠΡΑΓΜΑΤΙΚΟΙ ΑΡΙΘΜΟΙ ΚΑΙ ΟΙ ΠΡΑΞΕΙΣ ΤΟΥΣ ΘΕΩΡΙΑ. Τα σύνολα των αριθµών Το σύνολο των φυσικών αριθµών. Το σύνολο των ακεραίων αριθµών. N {0,,, 3 } Z { 3,,, 0,,, 3 } Το σύνολο των ρητών αριθµών. Q
Διαβάστε περισσότεραΑυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΚεφάλαιο 2: Τυπικές γλώσσες. Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος / 216
Κεφάλαιο 2: Τυπικές γλώσσες Νίκος Παπασπύρου, Κωστής Σαγώνας Μεταγλωττιστές Μάρτιος 2017 13 / 216 Τυπικές γλώσσες (i) Βασικές έννοιες Αλφάβητο Σύμβολο Συμβολοσειρά Μήκος συμβολοσειράς Σύνολο συμβολοσειρών
Διαβάστε περισσότεραΚεφάλαιο 1. Εισαγωγικές Εννοιες. 1.1 Σύνολα
Κεφάλαιο 1 Εισαγωγικές Εννοιες Σ αυτό το κεφάλαιο ϑα αναφερθούµε συνοπτικά σε ϐασικές έννοιες για σύνολα και απεικονίσεις. Επιπλέον, ϑα αναφερθούµε στη µέθοδο της επαγωγής, η οποία αποτελεί µία από τις
Διαβάστε περισσότεραΑρµονική Ανάλυση. Ενότητα: Μέτρο Lebesgue. Απόστολος Γιαννόπουλος. Τµήµα Μαθηµατικών
Ενότητα: Μέτρο Lebesgue Απόστολος Γιαννόπουλος Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΣΤΟΙΧΕΙΑ ΘΕΜΕΛΙΩΣΕΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΗΧΑΝΩΝ ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ ΚΑΙ ΤΟ ΛΥΚΕΙΟ
ΜΕΡΟΣ ΤΡΙΤΟ Ένταξη των Τ.Π.Ε. στην διδασκαλία και τη µάθηση I) ΣΤΟΙΧΕΙΑ ΘΕΜΕΛΙΩΣΕΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΜΗΧΑΝΩΝ ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ ΚΑΙ ΤΟ ΛΥΚΕΙΟ Παύλος Γ. Σπυράκης (google: Paul Spirakis) Ερευνητικό Ακαδηµαϊκό
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 6: Γλώσσες. 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας. Κεφάλαιο 6: «Γλώσσες Προγραµµατισµού»
ΚΕΦΑΛΑΙΟ 6: Γλώσσες Προγραµµατισµού 6.1 Ιστορική εξέλιξη 6.4 Υλοποίηση γλώσσας 1 6.1 Γενιές γλωσσών προγραµµατισµού 2 Δεύτερη γενιά: γλώσσα assembly Ένα µνηµονικό σύστηµα για την αναπαράσταση προγραµµάτων
Διαβάστε περισσότεραa = 10; a = k; int a,b,c; a = b = c = 10;
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.
Διαβάστε περισσότεραΑλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2
Αλγεβρικες οµες Ι Ασκησεις - Φυλλαδιο 2 ιδασκοντες: Ν. Μαρµαρίδης - Α. Μπεληγιάννης Ιστοσελιδες Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi2014/asi2014.html, https://sites.google.com/site/maths4edu/home/algdom114
Διαβάστε περισσότεραΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι. Ασκησεις - Φυλλαδιο 2
ΑΛΓΕΒΡΙΚΕΣ ΟΜΕΣ Ι Τµηµα Β Ασκησεις - Φυλλαδιο 2 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/algebraicstructuresi/asi2016/asi2016.html Πέµπτη 3 Μαρτίου 2016 Αν (G, ) είναι
Διαβάστε περισσότεραΕνότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών
Τίτλος Μαθήματος: Γραμμική Άλγεβρα Ι Ενότητα: Πράξεις επί Συνόλων και Σώµατα Αριθµών Διδάσκων: Καθηγητής Νικόλαος Μαρμαρίδης Τμήμα: Μαθηματικών Κεφάλαιο 1 Εισαγωγη : Πραξεις επι Συνολων και Σωµατα Αριθµων
Διαβάστε περισσότερα1 Ορισµός ακολουθίας πραγµατικών αριθµών
ΜΑΣ 02. Απειροστικός Λογισµός Ι Ορισµός ακολουθίας πραγµατικών αριθµών Ορισµός.. Ονοµάζουµε ακολουθία πραγµατικών αριθµών κάθε απεικόνιση του συνόλου N των ϕυσικών αριθµών, στο σύνολο R των πραγµατικών
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 3η ενότητα: Αυτόματα και Τυπικές Γραμματικές http://www.corelab.ece.ntua.gr/courses/ Αυτόματα Τρόπος κωδικοποίησης αλγορίθμων. Τρόπος περιγραφής συστημάτων πεπερασμένων
Διαβάστε περισσότεραΣύνταξη & Συντακτική Ανάλυση
Σύνταξη & Συντακτική Ανάλυση Μια γραμματική για τα Αγγλικά Μια πρόταση αποτελείται από μια ουσιαστική φράση, ένα ρήμα, και μια ουσιαστική φράση ::= Μια ουσιαστική φράση αποτελείται από
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Δεύτερη Σειρά Ασκήσεων 22 Νοεμβρίου 2016 Μέρος Α. (χειρόγραφη και ηλεκτρονική παράδοση 9 Δεκεμβρίου) Άσκηση 1: Θεωρήστε τη
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων
ΚΕΦΑΛΑΙΟ 3: Συνθήκες Αλυσίδων Μελετάµε εδώ τη συνθήκη της αύξουσας αλυσίδας υποπροτύπων και τη συνθήκη της φθίνουσας αλυσίδας υποπροτύπων. Αυτές συνδέονται µεταξύ τους µε την έννοια της συνθετικής σειράς
Διαβάστε περισσότεραΕισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο
Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2016-2017 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2): Αυτόµατα Στοίβας. Παραδείγµατα Σχεδιασµού CFG. Παράδειγµα 1.
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα 2): Αυτόµατα Στοίβας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Μη Κανονικές Γλώσσες Το Λήµµα της Αντλησης για τις
Διαβάστε περισσότεραΒασικά στοιχεία της Java
Βασικά στοιχεία της Java προτάσεις, εκφράσεις, µεταβλητές, σταθερές, τελεστές Ορισµοί Πρόταση (statement) είναι µία απλή εντολή σε µία γλώσσα προγραµµατισµού. Γιαπαράδειγµα: int x=12; Έκφραση (expression)
Διαβάστε περισσότερα«Έννοια της διάταξης ΟΡΙΣΜΟΣ α > β α β > 0.»
1 Η σχέση της διάταξης στο IR ρ. Παναγιώτης Λ. Θεοδωρόπουλος πρώην Σχολικός Σύµβουλος ΠΕ03 e-mail@p-theodoropoulos.gr Πρόλογος Η εργασία αυτή γράφτηκε µε αφορµή την κυκλικότητα που παρατηρείται στο σχολικό
Διαβάστε περισσότεραΜοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις
Μοντελοποίηση Υπολογισμού Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις Προβλήματα - Υπολογιστές Δεδομένου ενός προβλήματος υπάρχουν 2 σημαντικά ερωτήματα: Μπορεί να επιλυθεί με χρήση υπολογιστή;
Διαβάστε περισσότεραεπιµέλεια Θοδωρής Πιερράτος
Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,
Διαβάστε περισσότερατη µέθοδο της µαθηµατικής επαγωγής για να αποδείξουµε τη Ϲητούµενη ισότητα.
Αριστοτελειο Πανεπιστηµιο Θεσσαλονικης Τµηµα Μαθηµατικων Εισαγωγή στην Αλγεβρα Τελική Εξέταση 15 Φεβρουαρίου 2017 1. (Οµάδα Α) Εστω η ακολουθία Fibonacci F 1 = 1, F 2 = 1 και F n = F n 1 + F n 2, για n
Διαβάστε περισσότεραΠαρουσίαση του εργαλείου BISON
Παρουσίαση του εργαλείου BISON Γεννήτρια Συντακτικών Αναλυτών Β Φάση Συντακτική Ανάλυση Χαρακτηριστικά του bison Γεννήτρια συντακτικών αναλυτών σε C/C++. Συµβατό µε το εργαλείο του Unixyacc. Σχετικά εύκολο
Διαβάστε περισσότεραΣτοιχεία Θεωρίας Γλωσσών. (συνέχεια) (συνέχεια) Πέμπτη 27 Οκτωβρίου 2016 Θεόδωρος Τζουραμάνης Επίκουρος Καθηγητής
https://www.icsd.aegean.gr/t.tzouramanis/courses/dm1 ttzouram@aegean.gr Πέμπτη 7 Οκτωβρίου 016 Δ Κατά τον Καθηγητή Avram Noam Chomsky οι γραμματικές ταξινομούνται σύμφωνα με τα είδη παραγωγών που επιτρέπονται,
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 4 ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΥΝΤΑΚΤΙΚΗΣ ΑΝΑΛΥΣΗΣ
1 ΚΕΦΑΛΑΙΟ 4 ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΥΝΤΑΚΤΙΚΗΣ ΑΝΑΛΥΣΗΣ Στόχος Στόχος του Κεφαλαίου αυτού είναι να µάθουµε τις βασικότερες από τις τεχνικές και τις µεθοδολογίες συντακτικής ανάλυσης των κατηγοριών bottom up
Διαβάστε περισσότερα1 Οι πραγµατικοί αριθµοί
1 Οι πραγµατικοί αριθµοί 1.1 Σύνολα αριθµών Το σύνολο των ϕυσικών αριθµών N = {1, 2, 3,...} Το σύνολο των ακεραίων Z = {... 3, 2, 1, 0, 1, 2, 3,...}. Οι ακέραιοι διαµερίζονται σε άρτιους και περιττούς
Διαβάστε περισσότεραΓλώσσες Χωρίς Συμφραζόμενα
Γλώσσα χωρίς Συμφραζόμενα Γλώσσες Χωρίς Συμφραζόμενα Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
Διαβάστε περισσότεραΆδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 7: Πεπερασμένη αναπαράσταση γλωσσών Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραif(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο
C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες
Διαβάστε περισσότεραΓραµµικός Προγραµµατισµός - Μέθοδος Simplex
Γραµµικός Προγραµµατισµός - Μέθοδος Simplex Η πλέον γνωστή και περισσότερο χρησιµοποιηµένη µέθοδος για την επίλυση ενός γενικού προβλήµατος γραµµικού προγραµµατισµού, είναι η µέθοδος Simplex η οποία αναπτύχθηκε
Διαβάστε περισσότεραΑπάντηση: (func endfunc)-([a-za-z])+
Γλώσσες Προγραμματισμού Μεταγλωττιστές Ασκήσεις Επανάληψης ) Περιγράψτε τις κανονικές εκφράσεις που υποστηρίζουν (i) συμβολοσειρές που ξεκινούν με το πρόθεμα "func" ή "endfunc" ακολουθούμενο το σύμβολο
Διαβάστε περισσότεραΣχολικός Σύµβουλος ΠΕ03
Ασκήσεις Μαθηµατικών Θετικής & Τεχνολογικής Κατεύθυνσης Γ Λυκείου ρ. Παναγιώτης Λ. Θεοδωρόπουλος Σχολικός Σύµβουλος ΠΕ03 e-mail@p-theodoropoulos.gr Στην εργασία αυτή ξεχωρίζουµε και µελετάµε µερικές περιπτώσεις
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata
Σύνοψη Προηγούµενου Γλώσσες χωρίς Συµφραζόµενα (2) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Αυτόµατα Στοίβας Pushdown utomata Ισοδυναµία µε τις Γλώσσες χωρίς Συµφραζόµενα:
Διαβάστε περισσότεραΣυνεχείς συναρτήσεις πολλών µεταβλητών. ε > υπάρχει ( ) ( )
Συνεχείς συναρτήσεις πολλών µεταβλητών 7 Η Ευκλείδεια απόσταση που ορίσαµε στον R επιτρέπει ( εκτός από τον ορισµό των ορίων συναρτήσεων και ακολουθιών και τον ορισµό της συνέχειας συναρτήσεων της µορφής
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων
ΚΕΦΑΛΑΙΟ 2 Βασικές έννοιες αλγορίθµων Αλγόριθµος : Είναι ένα σύνολο βηµάτων, αυστηρά καθορισµένων κι εκτελέσιµων σε πεπερασµένο χρόνο, που οδηγούν στην επίλυση ενός προβλήµατος. Χαρακτηριστικά ενός σωστού
Διαβάστε περισσότεραΓραµµική Αλγεβρα Ι. Ενότητα: Εισαγωγικές Εννοιες. Ευάγγελος Ράπτης. Τµήµα Μαθηµατικών
Ενότητα: Εισαγωγικές Εννοιες Ευάγγελος Ράπτης Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ
ΗΜΙΟΥΡΓΙΑ ΠΑΙΧΝΙ ΙΟΥ ΣΤΟ SCRATCH ΒΗΜΑ ΠΡΟΣ ΒΗΜΑ ΣΕΝΑΡΙΟ ΠΑΙΧΝΙ ΙΟΥ Το παιχνίδι θα αποτελείται από δυο παίκτες, οι οποίοι θα βρίσκονται αντικριστά στις άκρες ενός γηπέδου δεξιά και αριστερά, και µια µπάλα.
Διαβάστε περισσότεραKεφάλαιο 10. Πόσα υποπαίγνια υπάρχουν εδώ πέρα; 2 υποπαίγνια.
Kεφάλαιο 10 Θα δούµε ένα δύο παραδείγµατα να ορίσουµε/ µετρήσουµε τα υποπαίγνια και µετά θα λύσουµε και να βρούµε αυτό που λέγεται τέλεια κατά Nash ισορροπία. Εδώ θα δούµε ένα παίγνιο όπου έχουµε µια επιχείρηση
Διαβάστε περισσότεραΙΙ ιαφορικός Λογισµός πολλών µεταβλητών. ιαφόριση συναρτήσεων πολλών µεταβλητών
54 ΙΙ ιαφορικός Λογισµός πολλών µεταβλητών ιαφόριση συναρτήσεων πολλών µεταβλητών Ένας στέρεος ορισµός της παραγώγισης για συναρτήσεις πολλών µεταβλητών ανάλογος µε τον ορισµό για συναρτήσεις µιας µεταβλητής
Διαβάστε περισσότεραΕισαγωγή στο Bison. Μεταγλωττιστές, Χειμερινό εξάμηνο
Εισαγωγή στο Bison Μεταγλωττιστές, Χειμερινό εξάμηνο 2014-2015 Συντακτική Ανάλυση Αποτελεί την δεύτερη φάση της μετάφρασης. Εύρεση της σχέσης που υπάρχει των λεκτικών μονάδων ενός προγράμματος. Παράδειγμα
Διαβάστε περισσότεραΑσκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.
Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Ακολουθίες πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας α Κάθε
Διαβάστε περισσότεραΚανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Κανονικές Γλώσσες ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Κανονικές Γλώσσες Κανονική γλώσσα αν
Διαβάστε περισσότερα«Έννοια της διάταξης ΟΡΙΣΜΟΣ α > β α β > 0.»
1 Η σχέση της διάταξης στο IR ρ. Παναγιώτης Λ. Θεοδωρόπουλος πρώην Σχολικός Σύµβουλος ΠΕ03 e-mail@p-theodoropoulos.gr Η εργασία αυτή αποτελείται από δύο µέρη. Στο πρώτο µέρος ορίζεται η έννοια των θετικών
Διαβάστε περισσότεραΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal Δοµή προγράµµατος 1. Δοµή προγράµµατος program όνοµα_προγράµµατος(αρχείο_1, αρχείο_2,...αρχείο_ν); ΕΠΙΚΕΦΑΛΙΔΑ ΒΙΒΛΙΟΘΗΚΕΣ uses όνοµα_βιβλιοθήκης,όνοµα_βιβλιοθήκης;
Διαβάστε περισσότερα3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting)
Εργαστήριο 3: 3.1 Αριθμητικοί και Λογικοί Τελεστές, Μετατροπές Τύπου (Casting) Η C++, όπως όλες οι γλώσσες προγραμματισμού, χρησιμοποιεί τελεστές για να εκτελέσει τις αριθμητικές και λογικές λειτουργίες.
Διαβάστε περισσότεραΣύνταξη & Συντακτική Ανάλυση
Σύνταξη & Συντακτική Ανάλυση Μια γραµµατική για τα Αγγλικά Μια πρόταση αποτελείται από µια ουσιαστική φράση, ένα ρήµα, και µια ουσιαστική φράση ::= Rene Mgritte, Le Seize Septemre Μια
Διαβάστε περισσότεραΈστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την
Βοηθητικές έννοιες (i) Σύνολα FIRST Έστω συμβολοσειρά Το σύνολο FIRST περιέχει τα τερματικά σύμβολα από τα οποία αρχίζουν οι συμβολοσειρές που παράγονται από την Αν a τότε a FIRST Αν τότε FIRST Νίκος Παπασπύρου,
Διαβάστε περισσότεραΣύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.
Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές
Διαβάστε περισσότεραΑσκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»
Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Το σύνολο των πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας) α)
Διαβάστε περισσότεραa 1d L(A) = {m 1 a m d a d : m i Z} a 11 a A = M B, B = N A, k=1
Α44 ΚΡΥΠΤΟΓΡΑΦΙΑ ΣΗΜΕΙΩΣΕΙΣ #12 ΘΕΟ ΟΥΛΟΣ ΓΑΡΕΦΑΛΑΚΗΣ 1 Πλεγµατα Εστω ο διανυσµατικός χώρος R d διάστασης d Ο χώρος R d έρχεται µε ένα εσωτερικό γινόµενο x, y = d i=1 x iy i και τη σχετική νόρµα x = x,
Διαβάστε περισσότεραΠεριεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότερα4 Συνέχεια συνάρτησης
4 Συνέχεια συνάρτησης Σε αυτή την ενότητα ϑα µελετήσουµε την έννοια της συνέχειας συνάρτησης. Πιο συγκεκριµένα πότε ϑα λέγεται µια συνάρτηση συνεχής σε ένα σηµείο το οποίο ανήκει στο πεδίο ορισµού της
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΗΥ340 ΕΑΡΙΝΟ ΕΞΑΜΗΝΟ 2010 Ι ΑΣΚΩΝ: ΑΝΤΩΝΙΟΣ ΣΑΒΒΙ ΗΣ ΒΑΣΙΚΗ ΕΡΓΑΣΙΑ ΦΑΣΗ 2η από 5 Ανάθεση: Πέµπτη 15 Απριλίου 2010, 11:00 (πρωί)
Διαβάστε περισσότεραΚεφάλαιο 0. Μεταθετικοί ακτύλιοι, Ιδεώδη
Κεφάλαιο 0 Μεταθετικοί ακτύλιοι, Ιδεώδη Το κεφάλαιο αυτό έχει προπαρασκευαστικό χαρακτήρα Θα καθιερώσουµε συµβολισµούς και θα υπενθυµίσουµε ορισµούς και στοιχειώδεις προτάσεις για δακτύλιους και ιδεώδη
Διαβάστε περισσότεραΕισαγωγή στην Τοπολογία
Ενότητα: Κατασκευή νέων τοπολογικών χώρων Γεώργιος Κουµουλλής Τµήµα Μαθηµατικών Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραόπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 10: Η γραφική παράσταση της συνάρτησης f (x) = 1/x.
3 Ορια συναρτήσεων 3. Εισαγωγικές έννοιες. Ας ϑεωρήσουµε την συνάρτηση f () = όπου D(f ) = (, 0) (0, + ) = R {0}. Είναι Σχήµα 0: Η γραφική παράσταση της συνάρτησης f () = /. ϕυσικό να αναζητήσουµε την
Διαβάστε περισσότεραΑρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση
Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2011-2012 Γιάννης Γαροφαλάκης, Καθηγητής Αθανάσιος Ν.Νικολακόπουλος, Υποψήφιος Διδάκτορας 28 Μαρτίου 2012 Περίληψη Σκοπός της παρούσας
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
Ερωτήσεις Σωστό - Λάθος 1. Ο αλγόριθµος πρέπει να τερµατίζεται µετά από εκτέλεση πεπερασµένου αριθµού εντολών. 2. Η είσοδος σε έναν αλγόριθµο µπορεί να είναι έξοδος σε έναν άλλο αλγόριθµο. 3. Ένας αλγόριθµος
Διαβάστε περισσότερα2.6 ΟΡΙΑ ΑΝΟΧΗΣ. πληθυσµού µε πιθανότητα τουλάχιστον ίση µε 100(1 α)%. Το. X ονοµάζεται κάτω όριο ανοχής ενώ το πάνω όριο ανοχής.
2.6 ΟΡΙΑ ΑΝΟΧΗΣ Το διάστηµα εµπιστοσύνης παρέχει µία εκτίµηση µιας άγνωστης παραµέτρου µε την µορφή διαστήµατος και ένα συγκεκριµένο βαθµό εµπιστοσύνης ότι το διάστηµα αυτό, µε τον τρόπο που κατασκευάσθηκε,
Διαβάστε περισσότεραΠανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Πρώτη Σειρά Ασκήσεων 27 Οκτωβρίου 2016 Μέρος Α. (χειρόγραφη και ηλεκτρονική παράδοση 11 Νοεμβρίου) Άσκηση 1: Θεωρήστε το ακόλουθο
Διαβάστε περισσότεραΗ γεωµετρική εποπτεία στην παρουσίαση της απόλυτης τιµής
Η γεωµετρική εποπτεία στην παρουσίαση της απόλυτης τιµής Η µέθοδος άξονα-κύκλου: µια διδακτική πρόταση για την επίλυση εξισώσεων και ανισώσεων µε απόλυτες τιµές στην Άλγεβρα της Α Λυκείου ηµήτριος Ντρίζος
Διαβάστε περισσότερα( ) = inf { (, Ρ) : Ρ διαµέριση του [, ]}
7 ΙΙΙ Ολοκληρωτικός Λογισµός πολλών µεταβλητών Βασικές έννοιες στη µια µεταβλητή Έστω f :[ ] φραγµένη συνάρτηση ( Ρ = { t = < < t = } είναι διαµέριση του [ ] 0 ( Ρ ) = Μ ( ) όπου sup f ( t) : t [ t t]
Διαβάστε περισσότεραικτυωτά διαγράµµατα και οµάδες αυτοµορφισµών Παρουσίαση εργασίας φοιτητή (x,a) 1) (xy)a=x(ya) x,y G και a A 1) a(xy)=(ax)y 2) ae=a
ικτυωτά διαγράµµατα και οµάδες αυτοµορφισµών Ν. Λυγερός Παρουσίαση εργασίας φοιτητή Θα µιλήσουµε για το θεώρηµα του Lagrange. Αλλά προτού φτάσουµε εκεί, θα ήθελα να εισάγω ορισµένες έννοιες που θα µας
Διαβάστε περισσότεραΚεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ
ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 12 : ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Συναρτήσεις ΣΥΝΑΡΤΗΣΕΙΣ 1.1. Ο λόγος ύπαρξης των συναρτήσεων Όπως είδαµε µία διαδικασία µπορεί να υπολογίζει περισσότερα από ένα αποτελέσµατα τα
Διαβάστε περισσότεραMEΤΑΣΧΗΜΑΤΙΣΜΟΙ ΤΗΣ ΜΟΡΦΗΣ Y= g( X1, X2,..., Xn)
MEΤΑΣΧΗΜΑΤΙΣΜΟΙ ΤΗΣ ΜΟΡΦΗΣ g( Έστω τυχαίες µεταβλητές οι οποίες έχουν κάποια από κοινού κατανοµή Ας υποθέσουµε ότι επιθυµούµε να προσδιορίσουµε την κατανοµή της τυχαίας µεταβλητής g( Η θεωρία των ένα-προς-ένα
Διαβάστε περισσότερα5.1 Ιδιοτιµές και Ιδιοδιανύσµατα
Κεφάλαιο 5 Ιδιοτιµές και Ιδιοδιανύσµατα 5 Ιδιοτιµές και Ιδιοδιανύσµατα Αν ο A είναι ένας n n πίνακας και το x είναι ένα διάνυσµα στον R n, τότε το Ax είναι και αυτό ένα διάνυσµα στον R n Συνήθως δεν υπάρχει
Διαβάστε περισσότεραΚεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού
Σελίδα 1 από Κεφάλαιο 7 Βασικά Θεωρήµατα του ιαφορικού Λογισµού Στο κεφάλαιο αυτό θα ασχοληθούµε µε τα βασικά θεωρήµατα του διαφορικού λογισµού καθώς και µε προβλήµατα που µπορούν να επιλυθούν χρησιµοποιώντας
Διαβάστε περισσότερα