Γλώσσες Προγραμματισμού Μεταγλωττιστές. Πίνακας Συμβόλων



Σχετικά έγγραφα
Πρόγραμμα Σπουδών για το "Νέο Σχολείο"

Σεμινάριο με θέμα : Εθελοντισμός & Δικαιώματα Παιδιού

Μαρία-Στεφανία-Γιάννης 1 ο Πρότυπο Πειραματικό Δημοτικό Σχολείο Θεσσαλονίκης Ε2 Π.Τ.Δ.Ε.-Α.Π.Θ

Δρ.ΠΟΛΥΚΑΡΠΟΣ ΕΥΡΙΠΙΔΟΥ

ΟΣΤΑ & ΣΚΕΛΕΤΙΚΟ ΣΥΣΤΗΜΑ

ΜΟΥΣΕΙΟ ΚΑΠΝΟΥ ΚΑΒΑΛΑΣ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ

ΚΩΔΙΚΑΣ ΔΕΟΝΤΟΛΟΓΙΑΣ

Φασίστες και αφεντικά στου πηγαδιού τον πάτο, ζήτω το παγκόσμιο προλεταριάτο.

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ

03-00: Βιομάζα για παραγωγή ενέργειας Γενικά ζητήματα εφοδιαστικών αλυσίδων

Αρωματικά φυτά της Ελλάδας

Μέθοδοι διαχωρισμού των συστατικών ενός ετερογενούς μείγματος

...ακολουθώντας τη ροή... ένα ημερολόγιο εμψύχωσης

Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν

«ΑΡΤΕΜΙΣ» ΥΠΟΥΡΓΕΙΟ ΕΡΓΑΣΙΑΣ, ΚΟΙΝΩΝΙΚΗΣ ΑΣΦΑΛΙΣΗΣ & ΚΟΙΝΩΝΙΚΗΣ ΑΛΛΗΛΕΓΓΥΗΣ ΣΩΜΑ ΕΠΙΘΕΩΡΗΣΗΣ ΕΡΓΑΣΙΑΣ

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 13ης/2013, συνεδρίασης του Περιφερειακού Συμβουλίου την Τρίτη 9 Ιουλίου 2013 στην Κέρκυρα με τηλεδιάσκεψη.

στήλη υγιεινολόγων στόματος

Ομιλία του ημάρχου Αμαρουσίου, Προέδρου Ιατρικού Συλλόγου Αθηνών. Γιώργου Πατούλη, στην εκδήλωση μνήμης στον Ιωάννη Πασαλίδη

Η ΔΙΔΑΚΤΙΚΗ ΑΞΙΟΠΟΙΗΣΗ ΚΙΝΗΤΩΝ ΕΡΓΑΣΤΗΡΙΩΝ ΦΟΡΗΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. στο μάθημα της Γλώσσας της ΣΤ ΔΗΜΟΤΙΚΟΥ

Ασφάλεια στις εργασίες κοπής μετάλλων

Οι 21 όροι του Λένιν

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Δαλιάνη Δήμητρα Λίζας Δημήτρης Μπακομήτρου Ελευθερία Ντουφεξιάδης Βαγγέλης

Αντωνία Αθανασοπούλου

ενεργοί πολίτες για τη Μήλο οι θέσεις μας Υποψηφιότητα Αντώνη Καβαλιέρου δημοτικές εκλογές

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

Όταν το μάθημα της πληροφορικής γίνεται ανθρωποκεντρικό μπορεί να αφορά και την εφηβεία.

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

ΔΙΑΧΕΙΡΙΣΗ ΥΓΡΑΣΙΑΣ. τεχνικές σελίδες

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

ΕΙΣΗΓΗΣΗ. επί της 5ης Αναμόρφωσης του προϋπολογισμού της Περιφέρειας Ιονίων Νήσων, για το οικονομικό έτος 2014

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

Τζων Λοκ ( ) (Άγγλος φιλόσοφος) Ο κύριος εκπρόσωπος της Εμπειριοκρατίας ηγέτης του Αγγλικού Διαφωτισμού.

Στις 22 Σεπτεμβρίου 1937, περί την δεκάτην πρωινήν, ο διευθυντής του ξενοδοχείου «Κεντρικόν» στην Κόρινθο χτύπησε την πόρτα του δωματίου όπου την

Καλές Πρακτικές Πρόληψης και Αντιμετώπισης Ενδοσχολικής Βίας- Σχολική Διαμεσολάβηση

ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: Μάθημα Θρησκευτικών, Πρωτοβάθμια Εκπαίδευση, Αξιοποίηση, Σχολικά Προγράμματα Περιβαλλοντικής Εκπαίδευσης

Συνοπτική Παρουσίαση. Ελλάδα

Ασυντήρητες και επικίνδυνες οικοδομές

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

Δευτέρα, 9 Απριλίου 2012 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ ΑΘΗΝΑ ΤΗΛ.: FAX:

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

Τα Αναβολικά. Τα αναβολικά χωρίζονται στα φυσικά και στα συνθετικά.

Αρµοδιότητες Αυτοτελούς Τµήµατος Δηµοτικής Αστυνοµίας

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ακολουθεί ολόκληρη η τοποθέτηση - παρέμβαση του Υπουργού Δ.Μ.&Η.Δ.

Αυτός που δεν μπορεί να δει τα μικρά πράγματα είναι τυφλός και για τα μεγαλύτερα. (Κομφούκιος, πχ)

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

Αναπαραστάσεις των φύλων στα παιδικά αναγνώσµατα του νηπιαγωγείου και του δηµοτικού σχολείου

ΥΠΟΣΤΗΡΙΞΗ ΑΝΑΣΚΑΦΙΚΟΥ ΕΡΓΟΥ

ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΚΡΙΤΙΚΗ ΒΙΒΑΙΟΥ

Απομόνωση χλωροφύλλης

ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ ΤΟΝ ΚΟΜΒΟ ΚΑΛΛΟΝΗΣ ΚΑΙ ΣΤΗΝ ΠΑΡΑΛΙΑ ΤΟΥ ΑΡΤΙΜΟΥ. ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Α

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης


ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΓΕΝΙΚΟΙ ΟΡΟΙ

ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΟΥ

ΒΑΣΙΚΗ ΕΚΠΑΙΔΕΥΣΗ. Οδηγός Οργάνωσης και Λειτουργίας ΕΚΔΟΣΗ 1.0

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

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

Οι υψηλότερες βαθμολογίες πρόσβασης των μαθητών μας ανά μάθημα

11. Προϋπολογισμός Προϋπολογισμός και αποδοτικότητα δημοσίων υπηρεσιών: υφιστάμενη κατάσταση

ΔΙΑΤΡΟΦΗ ΦΟΛΙΚΟ ΕΣΟ

ΑΝΑΚΥΚΛΩΣΗ ΤΗΓΑΝΕΛΑΙΟΥ ΓΙΑΤΙ - ΠΩΣ - ΠΟΤΕ

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 2 ης /2015, συνεδρίασης του Περιφερειακού Συμβουλίου το Σάββατο, 7 του μηνός Φεβρουαρίου 2015.

1. Εισαγωγή. 2. Καταπολέμηση της φοροδιαφυγής

Το Μουσείο των Βαλκανικών Πολέμων στη Γέφυρα και ο Οθωμανός αρχιστράτηγος Χασάν Ταχσίν πασά

KATATAΞH APΘPΩN. 6. Αρχές της προσφοράς και προμήθειας, ανθρώπινων ιστών και/ ή κυττάρων

ΠΡΟΒΛΗΜΑΤΑ ΤΗΣ ΔΗΜΟΣΙΑΣ ΖΩΗΣ, ΜΙΑ ΨΥΧΑΝΑΛΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 20ης/2014, συνεδρίασης του Περιφερειακού Συμβουλίου τo Σάββατο 20 Δεκεμβρίου 2014 στην Λευκάδα.

Σας πληροφορούμε ότι δημοσιεύθηκε ο νόμος 3861/2010 (ΦΕΚ112/Α / ) «Ενίσχυση της διαφάνειας με την υποχρεωτική

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

Το ρολόι που κρατάς στα χέρια σου κρύβει ένα μυστικό: το μυστικό της κόκκινης ομάδας. Αν είσαι αρκετά τολμηρός, μπορείς κι εσύ να ενημερωθείς για τα

Κεφάλαιο Πέμπτο Εθνοπολιτισμική Ζωή και Εμπειρίες Ελληνικότητας των Ελληνοαυστραλών Εφήβων

ΑΝΑΝΕΩΣΙΜΕΣ ΠΗΓΕΣ ΕΝΕΡΓΕΙΑΣ (Α.Π.Ε)

ΙΑ ΙΚΑΣΙΑ Σ ΕΠ ΠΟΛΙΤΙΚΗ ΠΡΟΜΗΘΕΙΩΝ ( Π.3.4.1) 1. ΣΚΟΠΟΣ

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

Η ποιότητα ζωής στις Σέρρες σήμερα

Εργατικά ατυχήµατα στο δρόµο

ΚΡΗΤΙΚΗ ΔΙΑΤΡΟΦΗ Αντιμέτωποι με το γρήγορο φαγητό

Η ΕΠΑΓΓΕΛΜΑΤΙΚΗ & ΕΠΙΧΕΙΡΗΜΑΤΙΚΗ ΔΡΑΣΤΗΡΙΟΠΟΙΗΣΗ ΤΩΝ ΕΛΛΗΝΩΝ ΤΗΣ ΔΙΑΣΠΟΡΑΣ ΜΕΤΑ ΤΟΝ Β ΠΑΓΚΟΣΜΙΟ ΠΟΛΕΜΟ ΚΑΙ Η ΕΠΙΔΡΑΣΗ ΤΗΣ ΣΤΟ ΕΘΝΙΚΟ ΚΕΝΤΡΟ

Από το ξεκίνημά του ο ΤΙΤΑΝ εκφράζει

Αποκεντρωμένες Διοικήσεις του Κράτους

Καποδίστριας Ι: Η περίπτωση του Νομού Λασιθίου, ήμος Νεάπολης, Κρήτη. Πως η διοικητική οργάνωση συμβάλλει στην ανάπτυξη.

ΑΠΟΣΠΑΣΜΑ. Από τα πρακτικά της με αριθμό 13ης/2012, συνεδρίασης του Περιφερειακού Συμβουλίου το Σάββατο 29 Σεπτεμβρίου 2012 στην Κέρκυρα.

ΔΗΜΟΓΡΑΦΙΚΑ ΝΕΑ Demo Νews

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΡΑΓΩΓΙΚΗΣ ΑΝΑΣΥΓΚΡΟΤΗΣΗΣ, ΠΕΡΙΒΑΛΛΟΝΤΟΣ & ΕΝΕΡΓΕΙΑΣ

Στεκόμαστε αλληλέγγυοι σ όσους, ατομικά ή συλλογικά επανακτούν αυτά που νόμιμα μας κλέβουν οι εξουσιαστές.

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

ΣΥΜΒΑΣΗ ΔΠΑ/ΕΠ-6489/2012

ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ. Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15. ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ :

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

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

Χημεία Β Γυμνασίου Τμήμα Β3. Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΠΕΡΙΦΕΡΕΙΑ ΣΤΕΡΕΑΣ ΕΛΛΑ ΑΣ ΓΡΑΦΕΙΟ ΠΕΡΙΦΕΡΕΙΑΡΧΗ ΥΨΗΛΑΝΤΗ ΛΑΜΙΑ. Λαµία ΠΡΟΣ: Μ.Μ.Ε.

Παρασκευή, 25 Ιανουαρίου 2013 ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ ΑΘΗΝΑ ΤΗΛ.: FAX:

ΙΝΣΤΙΤΟΥΤΟ ΕΜΠΟΡΙΟΥ & ΥΠΗΡΕΣΙΩΝ ΠΕΤΡΑΚΗ 16 Τ.Κ ΑΘΗΝΑ ΤΗΛ.: FAX:

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

Συνωμοσία Πυρήνων της Φωτιάς - Πυρήνας Αντάρτικου Πόλης

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

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

(Εργασία των μαθητών της ΣΤ Τάξης στα πλαίσια του μαθήματος της Γλώσσας)

Transcript:

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

Δομή Πίνακας Συμβόλων Κατασκευή Πληροφορία του ΠΣ Μεταβλητές (είδη, τύπος κλπ) Οργάνωση του πίνακα συμβόλων Δομές Δεδομένων ΠΣ Πολλαπλές Μεταβλητές Τρόποι χειρισμού πολλαπλών εμβελειών.

Πίνακας Συμβόλων Κατά την διάρκεια της μεταγλώττισης υπάρχει η ανάγκη για την συγκέντρωση πληροφοριών σχετικών με τα ονόματα (identifiers) τα οποία εμφανίζονται μέσα στο πρόγραμμα. Είδη ονομάτων: μεταβλητές υποπρογράμματα (διαδικασίες και συναρτήσεις) παράμετροι υποπρογραμμάτων ετικέτες εντολών (για χρήση σε συνδυασμό με GOTO εντολές) σταθερές τύποι δεδομένων

Πίνακας Συμβόλων ΙΙ Η πληροφορία που αποθηκεύεται στον πίνακα συμβόλων χρησιμοποιείται κατά τη σημασιολογική ανάλυση (έλεγχος τύπων) και κατά την παραγωγή κώδικα (πχ. πόσο χώρο στη μνήμη απαιτούν). πχ. int x; float y; Αποθήκευση στον πίνακα συμβόλων ότι ο x είναι ακέραιου τύπου. Ανάκληση από τον πίνακα συμβόλων κάθε φορά που απαιτείται το x είναι ακέραιος (πχ κατά την ανάθεση τιμής στη μεταβλητή x).

Πότε κατασκευάζεται ο Πίνακας Συμβόλων; Ο ΠΣ κατασκευάζεται κατά την φάση της ανάλυσης, δηλαδή κατά την λεκτική, συντακτική ή/και σημασιολογική ανάλυση. Είναι δυνατό κατά τη λεκτική ανάλυση να δημιουργηθεί μια νέα θέση στο πίνακα που να περιέχει αρχικές πληροφορίες για το σύμβολο. Κυρίως κατασκευή του πίνακα λαμβάνει χώρα στη φάση της συντακτικής ανάλυση, καθώς υπάρχει εκεί διαθέσιμη πληροφορία σχετική με το συγκεκριμένο όνομα.

Μεταβλητές Βασικό στοιχείο που αποθηκεύεται στο πίνακα συμβόλων. Χαρακτηριστικά Τύπος Εμβέλεια Διάρκεια ζωής Ορατότητα Εμβέλεια, διάρκεια ζωής και ορατότητα συνήθως ορίζουν τη κατηγορία αποθήκευσης (storage class).

Εμβέλεια Εμβέλεια: δομική μονάδα προγράμματος η οποία περιέχει δηλώσεις μιας ή περισσοτέρων μεταβλητών. Δομική μονάδα προγράμματος: το ίδιο το πρόγραμμα, συναρτήσεις, διαδικασίες, αρχεία (C). Δυναμική εμβέλεια (dynamic scope): όταν η απόφαση για το σε ποια μεταβλητή αναφέρεται ένα όνομα βασίζεται σε πληροφορία που είναι διαθέσιμη μόνο κατά την εκτέλεση. Στατική εμβέλεια (static scope): όταν η παραπάνω απόφαση μπορεί να γίνει κατά την μεταγλώττιση.

Ορατότητα και Εμβέλειες Περισσότερες γλώσσες επιτρέπουν φωλιασμένες δομικές μονάδες (block structure). Φωλιασμένες εμβέλειες ορίζουν ένα δένδρο. Η ορατότητα μιας μεταβλητής είναι η περιοχή στην οποία το όνομα της μεταβλητής αναφέρεται στη συγκεκριμένη μεταβλητή.

Ορατότητα και Εμβέλειες (ιι) Η μεταβλητή είναι ορατή στην εμβέλεια s που δηλώνεται από το σημείο δήλωσης και μετά καθώς και σε κάθε φωλιασμένη εμβέλεια s n αν: η s n βρίσκεται μετά τη δήλωση της μεταβλητής στην s το όνομα της μεταβλητής δεν δηλώνεται ξανά στην s n ή σε κάποια φωλιασμένη εμβέλεια s p της s που περιέχει την s n. Πολλές φορές οι όροι εμβέλεια (scope) και ορατότητα (visibility) χρησιμοποιούνται χωρίς διαφορά.

Παράδειγμα program p; var x,y,z : int; function f; f p g h var x : real; begin... end procedure g; var x,w: real; function h; var x,z: real; begin... end begin... end

Μερικά Είδη Μεταβλητών Καθολικές Μεταβλητές: μέγιστη δυνατή εμβέλεια. Μεταβλητές Αρχείου: εμβέλεια στο αρχείο που εμφανίζονται. Μεταβλητές Στοίβας (stack): η εμβέλεια και διάρκεια ζωής είναι ίδια με τη συγκεκριμένη δομική μονάδα που τις περιέχει. Στατικές μεταβλητές (static): διατηρούν την τιμή τους μεταξύ διαδοχικών κλήσεων της δομικής μονάδας στην οποία ανήκουν. Νεότερες γλώσσες: public, private, protected

Άλλα χαρακτηριστικά των Μεταβλητών Γλώσσες μοναδικής ανάθεσης (single assignment): Σε κάθε μεταβλητή η ανάθεση τιμής γίνεται μια και ΜΟΝΑΔΙΚΗ φορά. Γλώσσες καταστροφικής ανάθεσης (desctructive assignment): Η ανάθεση τιμών στη μεταβλητή μπορεί να γίνει περισσότερες από μια φορές, και κάθε φορά η προηγούμενη τιμή εξαφανίζεται. Διάρκεια ζωής: χρόνος από την στιγμή που δεσμεύεται μνήμη για μια μεταβλητή μέχρι να ελευθερωθεί.

Πληροφορία στον ΠΣ Μεταβλητές Εμβέλεια και ορατότητα (έμμεσα) Διάρκεια ζωής τύπος Θέση στη μνήμη Παράμετροι Τρόπος περάσματος (passing mode) {ref & value} Ονόματα διαδικασιών/συναρτήσεων Αριθμός παραμέτρων Τύπος και τρόπος περάσματος Τύπος αποτελέσματος (συναρτήσεις)

Οργάνωση του Πίνακα Συμβόλων

Βασικές Απαιτήσεις Πολύ συχνή προσπέλαση του πίνακα κατά τη μεταγλώττιση: Αποδοτική υλοποίηση λειτουργιών: προσθήκη νέου ονόματος αναζήτηση ονόματος διαγραφή ονόματος ή ομάδας ονομάτων Διατήρηση πληροφορίας μέχρι να μην είναι πλέον χρήσιμη στη μεταγλώττιση. Κατάλληλες δομές δεδομένων για την αποθήκευση του πίνακα.

Σειριακές Λίστες Σειριακές Λίστες (γραμμικές λίστες): οι πληροφορίες για τα ονόματα τοποθετούνται σε μια συνδεδεμένη λίστα. Νέα ονόματα τοποθετούνται στο τέλος της λίστας. Εύκολη υλοποίηση Μεγάλο κόστος προσθήκης/διαγραφής c b z y x a

Δυαδικά Δένδρα Δυαδικά δένδρα αναζήτησης Σε κάθε κόμβο όλοι οι κόμβοι που λεξικογραφικά προηγούνται βρίσκονται αριστερά, ενώ οι κόμβοι που έπονται βρίσκονται δεξιά του κόμβου. Γρηγορότερη Αναζήτηση c Κατάλληλες δομές για τον "ισοζυγισμό" του δένδρου. b y a x z

Πίνακες Κατακερματισμού Hash tables Βασίζεται στην ύπαρξη δύο πινάκων: του πίνακα αποθήκευσης και του πίνακα κατακερματισμού. Η αποδοτικότερη των τριών δομών. Πίνακας κατακερματισμού Αποτελείται από k θέσεις. Κάθε θέση έχει ένα δείκτη σε μια συνδεδεμένη λίστα. Η συνάρτηση κατακερματισμού (hash function) δίνει σε ποια θέση του πίνακα κατακερματισμού αντιστοιχεί ένα όνομα, και οδηγεί στην αντίστοιχη σειριακή (συνδεδεμένη) λίστα.

Πίνακας Κατακερματισμού 0 1 2... k-2 k-1 a6 a5 a4 a3 a2 a1 b3 b2 b1 c3 c2 c1 0 1 2... k-2 k-1 a6 a5 b3 a4 a3 a2 c3 b2 b1 a1 c2 c1

Συνάρτηση Καταακερματισμού Σημαντικό ρόλο για την επιτυχία της μεθόδου. Επιθυμητή η ομοιόμορφη κατανομή ονομάτων στη λίστα. Εύκολος υπολογισμός όταν το όνομα είναι ακολουθίες χαρακτήρων. Παράδειγμα Σ ASCII (name) = Άθροισμα ASCII χαρακτήρων ονόματος hash(name) = Σ ASCII mod k

Πολλαπλές Εμβέλειες

Πολλαπλές Εμβέλειες Ένας πίνακας αποθήκευσης για κάθε εμβέλεια. Πίνακες οργανώνονται σε δενδρική δομή που αντιστοιχεί στην δενδρική δομή των εμβελειών. Γενική αρχή αναζήτησης: ένα αναγνωριστικό (identifier) αφορά την αντίστοιχη μεταβλητή που δηλώνεται στη πιο "κοντινά" φωλιασμένη δομική μονάδα (most closely nested scope) Η αναζήτηση ξεκινά από τον "τρέχοντα" ΠΣ και κινείται προς την "ρίζα" του δένδρου. Η πρώτη καταχώριση της μεταβλητής είναι η ζητούμενη.

prog p; var x,y,z:int; Παράδειγμα fun f; var x : real; begin... end proc g; var x,w: real; z w fun h; x var x,z:real; z y x fun f x real prog p z y x int int int w x real real proc g begin...end begin...end z x real real fun h

Πολλαπλές Εμβέλειες με ένα μοναδικό πίνακα αποθήκευσης Ένας μοναδικός πίνακας για την αποθήκευση των στοιχείων και μια συνάρτηση κατακερματισμού. Στοίβα εμβελειών: πληροφορία όσον αφορά τις φωλιασμένες εμβέλειες και το σημείο του πίνακα από όπου ξεκινά δήλωση των αντίστοιχων μεταβλητών. Λειτουργία όπως πίνακες κατακερματισμού, με την διαφορά ότι τα νέα στοιχεία τοποθετούνται στην αρχή της συνδεδεμένης λίστας.

Οργάνωση Πίνακα συμβόλων Πολλαπλών Εμβελειών 0 1 2... k-2 k-1 a6 a5 b3 a4 a3 a2 c3 b2 b1 a1 c2 c1 ε n... ε2 ε1

Σύνοψη Πίνακας Συμβόλων Κατασκευή Πληροφορία του ΠΣ Μεταβλητές (είδη, τύπος κλπ) Οργάνωση του πίνακα συμβόλων Δομές Δεδομένων ΠΣ Πολλαπλές Μεταβλητές Τρόποι χειρισμού πολλαπλών εμβελειών.