Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχετικά έγγραφα
Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

x x x x tan(2 x) x 2 2x x 1

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Παλαιοσλαβική Γλώσσα. Ενότητα 13: Μορφολογία Τα ρήματα. Αλεξάνδρα Ιωαννίδου. Τμήμα Σλαβικών Σπουδών

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Θεωρία τησ Πληροφορίασ (Θ) ΔΙΔΑΚΩΝ: Δρ. Αναςτάςιοσ Πολίτησ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

1 Είζοδορ ζηο Σύζηημα ΣΔΕΔ ή BPMS

ΜΗΧΑΝΟΛΟΓΙΚΟ ΣΧΔΓΙΟ ΙΙ

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

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

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Παλαιοσλαβική Γλώσσα. Ενότητα 11: Μορφολογία Τα Ονόματα/Αντωνυμίες. Αλεξάνδρα Ιωαννίδου. Τμήμα Σλαβικών Σπουδών

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΠΛΗΡΟΦΟΡΙΚΗ & ΑΛΓΟΡΙΘΜΟΙ

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Λεκηική έκθραζη, κριηική, οικειόηηηα και ηύπος δεζμού ζηις ζηενές διαπροζωπικές ζτέζεις

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΣΗΜΑΤΩΝ & ΣΥΣΤΗΜΑΤΩΝ. ΜΕΤΑΣΦΗΜΑΤΙΣΜΟΣ Laplace

Αγορές Χρήματος & Κεφαλαίου

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

ΕΞΙΣΩΣΕΙΣ. (iv) (ii) (ii) (ii) 5. Γηα ηηο δηάθνξεο ηηκέο ηνπ ι λα ιπζνύλ νη εμηζώζεηο : x 6 3 9x

ΓΔΧΜΔΣΡΙΑ ΓΙΑ ΟΛΤΜΠΙΑΓΔ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.

ΠΛΖΡΟΦΟΡΗΚΖ & ΑΛΓΟΡΗΘΜΟΗ

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

242 - Ειζαγωγή ζηοσς Η/Υ

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Τν Πξόγξακκα ζα αλαθνηλσζεί, ακέζσο κεηά ηηο γηνξηέο ηνπ Πάζρα.

Γεωμεηπικοί Τόποι Σςμμεηπίερ Α Λυκείου - Γεωμετρία

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

6. Σρεδίαζε Κπθιωκάηωλ Λνγηθήο Κόκβωλ (ΚΑΙ), (Η)

γηα ηνλ Άξε Κσλζηαληηλίδε

x x 15 7 x 22. ΘΔΜΑ Α 3x 2 9x 4 3 3x 18x x 5 y 9x 4 Α1. i. . Η ιύζε είλαη y y x 3y y x 3 2x 6y y x x y 6 x 2y 1 y 6

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Γηζδηάζηαηνη Πίλαθεο

ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΚΦΩΝΗΣΕΙΣ. Διάρκεια: 3 ώρες Ημερομηνία: 12/5/2019 Έκδοση: 1 η. Τα sites blogs που συμμετέχουν (σε αλφαβητική σειρά):

T A E K W O N D O. Δ. ΠπθαξΨο. ΔπΫθνπξνο ΘαζεγεηΪο ΑζιεηηθΪο ΦπζηθνζεξαπεΫαο ΡΔΦΑΑ - ΑΞΘ

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Δομή ππογπάμμαηορ ζηη C++

Constructors and Destructors in C++

ΠΔΡΗΓΡΑΦΖ ΛΔΗΣΟΤΡΓΗΚΟΣΖΣΑ ΥΔΓΗΟΤ ΑΡΗΘΜ. 1

Transcript:

ΑΡΙΣΟΣΕΛΕΙΟ ΠΑΝΕΠΙΣΗΜΙΟ ΘΕΑΛΟΝΙΚΗ ΑΝΟΙΚΣΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΣΑ Σχεδίαση Γλωσσών & Μεταγλωττιστζς Ενότητα 12: Σχήματα Μετάφραςησ & Παραδείγματα Σημαςιολογικήσ Ανάλυςησ Επ. Καθ. Π. Κατςαρόσ Τμήμα Πληροφορικήσ

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

Χρηματοδότηςη Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχθεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδημαϊκά Μαθήματα ςτο Αριςτοτζλειο Πανεπιςτήμιο Θεςςαλονίκησ» ζχει χρηματοδοτήςει μόνο τη αναδιαμόρφωςη του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρηςιακοφ Προγράμματοσ «Εκπαίδευςη και Δια Βίου Μάθηςη» και ςυγχρηματοδοτείται από την Ευρωπαϊκή Ζνωςη (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικοφσ πόρουσ.

Στήμαηα μεηάθραζης Ι ηηο γξακκαηηθέο ηδηνηήηωλ δε δηαηππώλεηαη ε ζεηξά ππνινγηζκνύ ηηκώλ ηδηνηήηωλ ηωλ ζπκβόιωλ. Οη εμηζώζεηο ηδηνηήηωλ επηζπλάπηνληαη ζηα δεμηά ηωλ θαλόλωλ παξαγωγήο ηελ πην γεληθή πεξίπηωζε, γηα ηνλ θαζνξηζκό ηεο ζεηξάο ππνινγηζκνύ ηωλ ηηκώλ απαηηείηαη ε δεκηνπξγία ελόο γξάθνπ εμάξηεζεο ηηκώλ ε έλα ζρήκα κεηάθξαζεο ε ζεηξά ππνινγηζκνύ ηηκώλ θαζνξίδεηαη κε ηελ απεπζείαο ηνπνζέηεζε ηωλ ελεξγεηώλ ζηηο επηιεγείζεο ζέζεηο ηνπ δεμηνύ κέξνπο ηωλ θαλόλωλ παξαγωγήο Μία θιεξνλνκήζηκε ηδηόηεηα ελόο ζπκβόινπ ηνπ δεμηνύ κέξνπο πξέπεη λα έρεη ππνινγηζζεί ζε ελέξγεηα πξηλ από απηό ην ζύκβνιν Μία ελέξγεηα δελ πξέπεη λα αλαθέξεηαη ζε ζπλζέζηκε ηδηόηεηα ζπκβόινπ πνπ βξίζθεηαη δεμηά ηεο ελέξγεηαο Μία ζπλζέζηκε ηδηόηεηα γηα ην κε ηεξκαηηθό ζύκβνιν ηνπ αξηζηεξνύ κέξνπο κπνξεί λα ππνινγηζζεί κόλν κεηά ηνλ ππνινγηζκό όιωλ ηωλ ηδηνηήηωλ ζηηο νπνίεο αλαθέξεηαη (ηελ ηνπνζεηνύκε ζην ηέινο ηνπ δεμηνύ κέξνπο ηνπ θαλόλα) 4

Στήμαηα μεηάθραζης ΙΙ Παξαγσγέο εκαζηνινγηθνί θαλόλεο Καηαρώξεζε κεηαβιεηώλ ζηνλ πίλαθα ζπκβόισλ. D T L L.in T. type Από ζεσξεηηθήο απόςεσο απηόο ν T int T.type integer θαλόλαο δελ επηηξέπεηαη ζε κία float T.type float γξακκαηηθή ηδηνηήησλ. Μηιάκε γηα L L 1, id L 1.in L. in, enter(id.spelling, L.in) κία ad hoc κεηάθξαζε. id enter(id.spelling, L.in) D T { L.in T. type } L T int { T.type integer } float { T.type float } L { L 1.in L. in } L 1, id {enter(id.spelling, L.in)} id { enter(id.spelling, L.in) } ρήκα κεηάθξαζεο: Οη ζεκαζηνινγηθέο ελέξγεηεο ηνπνζεηνύληαη ζηα δεμηά κέξε ησλ παξαγσγώλ θαζνξίδνληαο ηε ζεηξά εθηέιεζήο ηνπο. 5

Στήμαηα μεηάθραζης ΙΙΙ ΠΑΡΑΔΕΙΓΜΑ: Σν ζρήκα κεηάθξαζεο, πνπ αθνινπζεί, κεηαηξέπεη αξηζκεηηθέο εθθξάζεηο έλζεηεο κνξθήο ζηελ αληίζηνηρε επηζεκαηηθή κνξθή. Έηζη, ε κεηάθξαζε ηεο έθθξαζεο, δίλεη ωο απνηέιεζκα ηελ ((a+b)*c)/(d-e*f)+3 ab+c*def*-/3+ έθθξαζε = όξνο ππ_όξνη. ππ_όξνη = + όξνο {print( +.λεξ_μονάδα)} ππ_όξνη R - όξνο {print( -.λεξ_μονάδα)} ππ_όξνη R ε. όξνο = παξάγνληαο ππ_παξαγ. ππ_παξαγ = * παξάγνληαο {print( *.λεξ_μονάδα)} ππ_παξαγ R / παξάγνληαο {print( /.λεξ_μονάδα)} ππ_παξαγ R ε. παξάγνληαο = ( έθθξαζε ) αξηζκόο {print( αξηζκόο.τιμή)}. 6

Παράδειγμα γραμμαηικής ιδιοηήηων: ζσνηακηικό δένδρο Γξακκαηηθή ηδηνηήηωλ γηα ηελ αλάπηπμε ηνπ ζπληαθηηθνύ δέλδξνπ ηωλ εθθξάζεωλ. ηδηόηεηα nptr ηδηόηεηα ID.entry mknode mkleaf δείθηεο ζε θόκβν δέλδξνπ ε εγγξαθή ελόο νλόκαηνο ζηνλ πίλαθα ζπκβόιωλ δεκηνπξγία λένπ θόκβνπ δεκηνπξγία θύιινπ ζην δέλδξν Ε n+1 = Ε n-1 + Ε n. [Ε n+1.nptr = mknode( +, Ε n-1.nptr, Ε n.nptr) ] Ε n+1 = Ε n-1 * Ε n. [Ε n+1.nptr = mknode( *, Ε n-1.nptr, Ε n.nptr) ] Ε n+1 = ( Ε n ). [Ε n+1.nptr = Ε n.nptr ] Ε n+1 = ID. [Ε n+1.nptr = mkleaf(id, ID.entry) ] 7

Παράδειγμα γραμμαηικής ιδιοηήηων: έλεγτος ηύπων I βαζηθνί ηύπνη (ινγηθόο ηύπνο, αθέξαηνη, πξαγκαηηθνί θ.α.) θαη νξηδόκελνη από ηνλ πξνγξακκαηηζηή, πνπ κπνξνύλ λα έρνπλ ην δηθό ηνπο όλνκα ν ηύπνο ελόο δνκηθνύ ζηνηρείνπ ηεο γιώζζαο πεξηγξάθεηαη από κία έθθξαζε ηύπωλ, όπνπ ζπλδπάδνληαη έλαο ή πεξηζζόηεξνη απινί ηύπνη κε δνκεηέο ηύπωλ ηύπνο πίλαθα: array(index_type, component_type) εγγξαθή από δύν πεδία: type 1 x type 2 δείθηεο: pointer(type) ζπλάξηεζε πξόζζεζεο δύν αξηζκώλ: int x int int 8

Παράδειγμα γραμμαηικής ιδιοηήηων: έλεγτος ηύπων II έιεγρνο ζπλέπεηαο ηύπωλ: πινπνηείηαη κε κία αλνδηθή δηάζρηζε ηνπ ζπληαθηηθνύ δέλδξνπ όπνπ νη ηύπνη ηωλ θύιιωλ (νλόκαηα, ζηαζεξέο) εμεηάδνληαη κε βάζε ηηο αληίζηνηρεο δειώζεηο ηνπο ζηνλ πίλαθα ζπκβόιωλ γηα θάζε θόκβν πνπ αληηζηνηρεί ζε ηειεζηή γίλεηαη έιεγρνο αλ νη ηύπνη ηωλ ππνδέλδξωλ είλαη επηηξεπηνί γηα ηε ζπγθεθξηκέλε πξάμε νλνκαζηηθή ηζνδπλακία ηύπωλ: πνιύ πεξηνξηζηηθή type my_int = integer; var x: integer; y: my_int; x:=y; δνκηθά ηζνδύλακεο εθθξάζεηο: αλλ είλαη ηνπ ίδηνπ βαζηθνύ ηύπνπ ή νη ηύπνη ηνπο πξνθύπηνπλ κεηά από εθαξκνγή ηνπ ίδηνπ δνκεηή ζε δνκηθά ηζνδύλακνπο ηύπνπο 9

Παράδειγμα γραμμαηικής ιδιοηήηων: δηλώζεις ηύπων δειώζεηο κεηαβιεηώλ δείθηε θαη πηλάθωλ decl = type varlist. [varlist.in = type.name ] type = INT. [type.name = integer ] type = FLOAT. [type.name = float ] varlist = varlist R, ID. [varlist R.in = varlist.in addtype(id.entry, varlist.in) ] varlist = varlist R, ID [ Num ]. [varlist R.in = varlist.in addtype(id.entry, array(0 Num.val 1, varlist = varlist R, * ID. varlist.in))] [varlist R.in = varlist.in addtype(id.entry, pointer(varlist.in)) ] varlist = ID. [addtype(id.entry, varlist.in) ] varlist = ID [ Num ]. [ addtype(id.entry, array(0 Num.val 1, varlist.in))] varlist = * ID. [ addtype(id.entry, pointer(varlist.in)) ] 10

Παράδειγμα ζτήμαηος μεηάθραζης: έλεγτος ηύπων αριθμηηικών εκθράζεων Ε = literal. {E.type = char } E = Num. {E.type = integer } E = ID. {E.type = lookup(id.entry) } E = E 1 mod E 2. {αλ (E 1.type = = integer θαη E 2.type = = integer ) ηόηε E.type = integer ; αιιηώο E.type = type error ; } E = E 1 [ E 2 ]. {αλ (E 2.type = = integer θαη E 1.type = = array(i_type,b_type)) ηόηε E.type = b_type; αιιηώο E.type = type error ; } E = * E R. {αλ (E R.type = = pointer(b_type)) ηόηε E.type = b_type; αιιηώο E.type = type error ; } E = E 1 = = E 2. {αλ (E 1.type = = E 2.type) ηόηε E.type = boolean ; αιιηώο E.type = type error ; } 11

ΑΡΙΣΟΣΕΛΕΙΟ ΠΑΝΕΠΙΣΗΜΙΟ ΘΕΑΛΟΝΙΚΗ ΑΝΟΙΚΣΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΣΑ Τζλος ενότητας Επεξεργαςία: Εμμανουζλα Στάχτιαρη Θεςςαλονίκη, 21/07/2014