Πίνακες συμβόλων

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Λειτουργία

Οι λειτουργίες που θέλουμε να εκτελούμε σε έναν πίνακα συμβόλων περιλαμβάνουν:

Περιεχόμενα

Τα στοιχεία που θέλουμε να αποθηκεύσουμε για κάθε σύμβολο είναι:

Δομές

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

Εμβέλεια ονομάτων

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

Βιβλιογραφία