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

Slides:



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

Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Πίνακες-Αλφαριθμητικά
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Αντικείμενα ως ορίσματα.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
Αντικειμενοστραφής Προγραμματισμός
Μάθημα : Βασικά Στοιχεία της Γλώσσας Java
ΜΑΘ-3122/106 Προγραμματισμός
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΕΠΛ223 - Θεωρία και Πρακτική Μεταγλωττιστών9-1 Στατικός Έλεγχος Με τον όρο στατικός έλεγχος (static checking) χαρακτηρίζεται ο έλεγχος της συντακτικής.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 5: Επαναληπτικές και εξωτερικές συναρτήσεις και διαδικασίες Εαρινό εξάμηνο 2009.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
ΜΕΤΑΒΛΗΤΕΣ - ΤΥΠΟΙ ΜΑΘΗΜΑ 3.
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΣΥΝΑΡΤΗΣΕΙΣ.
Αλγόριθμοι συνέχεια 2.2.4, 2.2.5,
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Δείκτες (Pointers) – Δομές (Structs)
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 9: Παραγωγή Ενδιάμεσου Κώδικα (Ενδιάμεσες Γλώσσες) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 13: Επαναληπτικό μάθημα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Το περιεχόμενο του μαθήματος διατίθεται.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Κεφάλαιο 10 – Υποπρογράμματα
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 10: Παραγωγή Ενδιάμεσου Κώδικα (Σημασιολογικές ρουτίνες μετάφρασης-Μέρος Α) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής.
Έλεγχος Ονομάτων (Name Control) Για ένα πρόγραμμα που αποτελείται από πολλά τμήματα κάποια από τα οποία έχουν πιθανώς γραφτεί από άλλους προγραμματιστές.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Υπερφόρτωση Τελεστών (Συνέχεια) Αντικειμενοστραφής Προγραμματισμός.
ΗΥ-340 – Γλώσσες και Μεταφραστές Φροντιστήριο Παραγωγή τελικού κώδικα.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Πίνακες.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Spring 2007 Γ. Γεωργαλής, Σ. Δουμπουλάκης, Μ. Ζηδιανάκης, Θ. Μπουρδένας 1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Virtual Machine.
ΘΠ06 - Μεταγλωττιστές Ενδιάμεσος Κώδικας – Μεταφραστικά Σχήματα.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Δομές Δεδομένων και Αρχεία
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Δυναμικός Κατακερματισμός
Δείκτες Προγραμματισμός Ι
Κεφάλαιο 4 :: Σημασιολογική Ανάλυση
Βάσεις Δεδομένων ΙΙ 7η διάλεξη
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Εισαγωγή στον Προγ/μό Υπολογιστών
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Προγραμματισμός ΗΥ Ενότητα 12: Αρχεία Δομών. Διδάσκων: Ηλίας Κ Σάββας,
Δυναμικός Κατακερματισμός
ΕΚΦΡΑΣΕΙΣ, ΑΝΑΜΟΝΕΣ (DELAYS), ΗΧΟΙ
UNIT 1 Τα Πρώτα Προγράμματα.
Μεταγράφημα παρουσίασης:

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

Πίνακας Συμβόλων Πίνακας Συμβόλων λεκτική ανάλυση συντακτική ανάλυση σημασιολογική ανάλυση παραγωγή ενδιάμεσου κώδικα βελτιστοποίηση ενδιάμεσου κώδικα παραγωγή τελικού κώδικα βελτιστοποίηση τελικού κώδικα Πίνακας Συμβόλων

Μορφή του Πίνακα Συμβόλων Αρχή Scope Argument Entity

Εγγραφές στον Πίνακα Record Entity char[] name τύπος μεταβλητή int type int offset (απόσταση από την κορυφή της στοίβας) συνάρτηση int type int startQuad (ετικέτα της πρώτης τετράδας του κώδικα της συνάρτησης) list argument (λίστα παραμέτρων) int framelength (μήκος εγγραφήματος δραστηριοποίησης)

Εγγραφές στον Πίνακα Record Entity (συνέχεια) σταθερά char[] value (τιμή της σταθεράς) παράμετρος int parMode (τρόπος περάσματος) int offset (απόσταση από την κορυφή της στοίβας) προσωρινή μεταβλητή pointer Entity next

Εγγραφές στον Πίνακα Record Scope pointer Entity (λίστα από Entities) int nestingLevel (βάθος φωλιάσματος) pointer Scope enclosingScope

Εγγραφές στον Πίνακα Record Argument int parMode (τρόπος περάσματος) int type (τύπος μεταβλητής) pointer Argument next

Εγγράφημα Δραστηριοποίησης Δημιουργείται για κάθε συνάρτηση από αυτήν που την καλεί Όταν αρχίζει η εκτέλεση της συνάρτησης ο δείκτης στοίβας μεταφέρεται στην αρχή του εγγρασήματος δραστηριοποίησης Περιέχει πληροφορίες που χρησιμέυουν για την εκτέλεση και τον τερματισμό της συνάρτησης καθώς και πληροφορίες που σχετίζονται με τις μεταβλητές που χρησιμοποιεί Όταν τερματίζεται η συνάρτηση ο χώρος που καταλαμβάνει το εγγράφημα δραστηριοποίησης επιστρέφεται στο σύστημα

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

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

Εγγράφημα Δραστηριοποίησης Χώρος αποθήκευσης παραμέτρων συνάρτησης αποθηκεύεται η τιμή, αν πρόκειται για πέρασμα με τιμή αποθηκεύεται η διεύθυνση, αν πρόκειται για πέρασμα με αναφορά Χώρος αποθήκευσης τοπικών μεταβλητών Χώρος αποθήκευσης προσωρινών μεταβλητών

Ενέργειες στον Πίνακα Συμβόλων Προσθήκη νέου Scope: όταν ξεκινάμε τη μετάφραση μιας νέας συνάρτησης Διαφραφή Scope: όταν τελειώνουμε τη μετάφραση μιας συνάρτησης - με τη διαγραφή διαγράφουμε την εγγραφή (record) του Scope και όλες τις λίστες με τα Entity και τα Argument που εξαρτώνται από αυτήν Προσθήκη νέου Entity όταν συναντάμε δήλωση μεταβλητής όταν δημιουργείται νέα προσωρινή μεταβλητή όταν συναντάμε δήλωση νέας συνάρτησης όταν συναντάμε δήλωση τυπικής παραμέτρου συνάρτησης

Ενέργειες στον Πίνακα Συμβόλων Προσθήκη νέου Argument: όταν συναντάμε δήλωση τυπικής παραμέτρου συνάρτησης Αναζήτηση: μπορεί να αναζητηθεί κάποιο entity με βάση το όνομά του. Η αναζήτηση ενός entity γίνεται ξεκινώντας από την αρχή του πίνακα και την πρώτη του γραμμή. Αν δε βρεθεί πηγαίνουμε στην επόμενη γραμμή έως ότου βρεθεί το entity ή τελειώσουν όλα τα entities οπότε επιστρέφουμε και μήνυμα λάθους. Αν με το ζητούμενο όνομα υπάρχει πάνω από ένα entity τότε επιστρέφουμε το πρώτο που θα συναντήσουμε