ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Advertisements

Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ ΤΜΗΜΑΤΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Πίνακες-Αλφαριθμητικά
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΜΑΘ3122/106 Γλώσσα Προγραμματισμού
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
Μάθημα : Βασικά Στοιχεία της Γλώσσας Java
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
TEMPLATES STANDARD TEMPLATE LIBRARY ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ C Evangelos Theodoridis.
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων, Σημασιολογικές Ενέργειες.
ΕΠΛ223 - Θεωρία και Πρακτική Μεταγλωττιστών9-1 Στατικός Έλεγχος Με τον όρο στατικός έλεγχος (static checking) χαρακτηρίζεται ο έλεγχος της συντακτικής.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΕΠΛ223 Θεωρία και Πρακτική Μεταγλωττιστών Εαρινό Εξάμηνο 2002 Κ. Μουρλάς, Λέκτορας Σημείωση: Οι διαφάνειες αυτές βασίζονται κατά το μεγαλύτερο μέρος τους.
ΕΠΛ Θεωρία και Πρακτική Μεταγλωττιστών5-1 Επίλυσης ασάφειας με εισαγωγή μη-τερματικών Π.χ. stmt = “if”, expr, “then”, stmt | “if”, expr, “then”,
ΣΥΝΑΡΤΗΣΕΙΣ.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ε. ΠετράκηςΣτοίβες, Ουρές1 Στοίβες  Στοίβα: περιορισμένη ποικιλία λίστας  τα στοιχεία μπορούν να εισαχθούν ή να διαγραφούν μόνο από μια άκρη : λίστες.
Στοίβα, Ουρά.
Ουρά Προτεραιότητας: Heap
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Δείκτες (Pointers) – Δομές (Structs)
ΘΠ06 - Μεταγλωττιστές Συντακτική Ανάλυση, Bison 1.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
ΗΥ150 – Προγραμματισμός Ξ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Δομές Δεδομένων.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 9: Παραγωγή Ενδιάμεσου Κώδικα (Ενδιάμεσες Γλώσσες) Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 8: Πίνακας Συμβόλων Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας.
Κεφάλαιο 10 – Υποπρογράμματα
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μεταγλωττιστές (Compilers) (Θ) Ενότητα 11: Βελτιστοποίηση Ενδιάμεσου Κώδικα Κατερίνα Γεωργούλη Τμήμα Μηχανικών Πληροφορικής ΤΕ Ανοικτά Ακαδημαϊκά Μαθήματα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 4-1 Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων.
Δομές Δεδομένων και Αρχεία Ενότητα 10: Κυκλικά και Διπλά Συνδεδεμένη Λίστα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I.
Δομές Δεδομένων και Αρχεία
Βασικά στοιχεία της Java
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος.
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Δυναμικός Κατακερματισμός
Java DataBase Connectivity
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Πίνακας Συμβόλων Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής.
Εισαγωγή στον Προγ/μό Υπολογιστών
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
19η Διάλεξη Εξωτερική Αναζήτηση και Β-δέντρα Ε. Μαρκάκης
Μεταγλωττιστές (Compilers) (Θ)
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-1 Πίνακας Συμβόλων Πίνακας συμβόλων: δομή δεδομένων που χρησιμοποιείται για την αποθήκευση διαφόρων πληροφοριών που σχετίζονται με τις δομές του πηγαίου κώδικα. Οι πληροφορίες αυτές συλλέγονται κατά την φάση της ανάλυσης (λεκτική, συντακτική, σημασιολογική) και χρησιμοποιούνται στις φάσεις παραγωγής κώδικα που ακολουθούν. Π.χ.: - Κατά την λεκτική ανάλυση προσδιορίζεται το όνομα ενός αναγνωριστικού. Η τοποθέτηση στον ΠΣ συντελείται κατά την συντακτική ανάλυση αφού προσδιοριστεί ο τύπος του αναγνωριστικού π.χ. μεταβλητή, διαδικασία, κλπ. - Κατά την παραγωγή κώδικα τα στοιχεία του ΠΣ χρησιμεύουν στο προσδιορισμό του αποθηκευτικού χώρου των μεταβλητών κ.α.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-2 Πληροφορίες που διαχειρίζεται ο ΠΣ Οι πίνακες συμβόλων ονομάζονται και περιβάλλοντα (environments) και αντιστοιχούν σε κάθε αναγνωριστικό (identifier) τουλάχιστον δύο πεδία που περιέχουν αντίστοιχα: –τη συμβολοσειρά (lexeme) –τον τύπο της λεκτικής μονάδας Η διαπροσωπία (interface) του πίνακα συμβόλων πρέπει να παρέχει τουλάχιστον τις ακόλουθες λειτουργίες: –insert(lexeme, token) –lookup(lexeme) H διεύθυνση που επιστρέφεται με την λειτουργία lookup επιτρέπει την επισκόπηση και τροποποίηση των χαρακτηριστικών του αντίστοιχου συμβόλου.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-3 Πληροφορίες που διαχειρίζεται ο ΠΣ (2) Ο ΠΣ μπορεί επιπρόσθετα να περιέχει: –Πληροφορίες για την ποσότητα μνήμης που απαιτείται για την αποθήκευση του αντίστοιχου συμβόλου –Τη διεύθυνση μνήμης στην οποία είναι τοποθετημένο το σύμβολο Καθώς οι απαιτούμενες πληροφορίες εξαρτώνται από το εκάστοτε σύμβολο συνηθίζεται η χρήση δομών όπως η union της γλώσσας C για την ενιαία αντιμετώπιση των εγγραφών του ΠΣ. Τυπικά η λειτουργία insert συντελείται κατά την συντακτική ανάλυση. Π.χ. int x; struct x {float y, z;};

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-4 Διαχείριση των δεσμευμένων λέξεων μίας γλώσσας Μια ενδεικτική λύση για την διαχείριση οποιουδήποτε συνόλου δεσμευμένων λέξεων από ένα ΠΣ, είναι η εισαγωγή τους σε αυτόν κατά την αρχικοποίηση του συντακτικού ή λεκτικού αναλυτή, π.χ. #define WHILE_TOKEN 1 … insert(“while”, WHILE_TOKEN); Οποιαδήποτε κλήση της λειτουργίας lookup στη συνέχεια θα εμποδίσει την εισαγωγή αναγνωριστικών με το ίδιο όνομα. Στην περίπτωση που η γλώσσα δεν έχει δεσμευμένες λέξεις όπως η Fortran, η προσέγγιση αυτή παρέχει τη δυνατότητα προειδοποίησης του χρήστη για ενδεχόμενο λάθος.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-5 Μία πρώτη προσέγγιση υλοποίησης ΠΣ Κάθε στοιχείο του πίνακα περιέχει (τουλάχιστον): –Ένα δείκτη σε ένα μονοδιάστατο πίνακα που περιέχει τα ονόματα των αναγνωριστικών, χωρισμένα με ένα σύμβολο (ΕΟS) που δεν συναντάται στα ονόματα –το τύπο του αναγνωριστικού

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-6 Δυναμικές Δομές κατάλληλες για ΠΣ Γραμμικές λίστες: μικρό κόστος υλοποίησης, μεγάλο κόστος εκτέλεσης Κόστος λειτουργίας lookup: κατά μέσο όρο n/2 όπου n το πλήθος των συμβόλων Κόστος λειτουργίας insert: επειδή ελέγχουμε πρώτα αν ένα σύμβολο υπάρχει στον ΠΣ πάλι το κόστος είναι αναλογικό ως προς n. Συνολικά για εισαγωγή n συμβόλων και e αναζητήσεων το κόστος είναι: cn(n+e) όπου c σταθερά ίση με το χρόνο εκτέλεσης μερικών εντολών μηχανής Αν n=100 και e=1000 είναι εντάξει, αλλά αν n=1000 και e=10000 τότε...

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-7 Δυναμικές Δομές κατάλληλες για ΠΣ Πίνακες κατακερματισμού (hash tables) : μεγάλο κόστος υλοποίησης, μικρό κόστος εκτέλεσης Κόστος λειτουργίας lookup: Ο(n) όπου n το πλήθος των συμβόλων Κατά μέσο όρο όμως είναι n / m. Κόστος λειτουργίας insert: Θ(1) Συνολικά για n σύμβολα και e εκτελέσεις της lookup το κόστος είναι κατά μέσο όρο: ( n (n+e) ) / m κατά προτίμηση το m είναι πρώτος αριθμός

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-8 Αναπαράσταση της Εμβέλειας int S; … void area(int x, int y) { double S; … Μέθοδοι : 1.Με την υλοποίηση ενός ξεχωριστού ΠΣ για κάθε εμβέλεια, πχ. κάθε διαδικασία να έχει τον δικό της ΠΣ. 2. Επεκτείνοντας κατάλληλα τις δομές που αναφέραμε προηγούμενα έτσι ώστε να λαμβάνουν υπόψη τους τη θέση δήλωσης και χρήσης ενός ονόματος (identifier) μέσα στον κώδικα. Απαιτείται η επιπλέον λειτουργία delete() για τον ΠΣ η οποία θα διαγράφει ή θα απενεργοποιεί μετά το τέλος μιας διαδικασίας η ενός μπλοκ τα σύμβολα που είχαν εισαχθεί στον ΠΣ κατά την επεξεργασία από τον μεταφραστή αυτής της διαδικασίας ή αυτού του μπλοκ.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-9 Αναπαράσταση της Εμβέλειας (2) Ανάγκη λοιπόν καταγραφής των τροποποιήσεων για να είναι δυνατή η αντιστροφή τους κατά την έξοδο από το μπλοκ. Θεωρητικά, αν κατά την εισαγωγή ενός ονόματος στον ΠΣ αποθηκεύουμε και έναν μοναδικό αριθμό που χαρακτηρίζει την διαδικασία ή το μπλοκ στο οποίο βρίσκουμε αυτό το όνομα, τότε μπορούμε να χειριστούμε την εμβέλεια.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-10 Αναπαράσταση της εμβέλειας των συμβόλων Συνήθως χρησιμοποιούμε μία καθολική μεταβλητή που αναπαριστά το τρέχων επίπεδο εμβέλειας, π.χ. extern int current_scope Κάθε φορά που εισάγουμε ένα νέο σύμβολο αντιγράφουμε τα περιεχόμενα της current_scope στο αντίστοιχο πεδίο της εγγραφής του ΠΣ. Aρχικά η current_scope είναι 0 και μεταβάλλεται στα ακόλουθα σημεία: - Αυξάνεται κατά ένα μετά την επικεφαλίδα του προγράμματος ή των διαδικασιών, ή κατά την είσοδο σε ένα μπλοκ. Η αύξηση γίνεται πριν τους ορισμούς των μεταβλητών. - Μειώνεται κατά ένα κατά την έξοδο από ένα επίπεδο εμβέλειας.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-11 Αναπαράσταση της Εμβέλειας (συν.) Πρακτικά: 1. Για τους ΠΣ που υλοποιούνται με συνδεδεμένες λίστες μπορούμε να κρατάμε σε μια στοίβα κάνοντας push() την τελευταία θέση της λίστας, και μετά την έξοδο από το μπλοκ να διαγράφουμε μέσω της delete() όλες τις εισόδους μέχρι εκείνη τη διεύθυνση που μας δείχνει η κορυφή της στοίβας, αφού προηγουμένως την κάνουμε pop().

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-12 Αναπαράσταση της Εμβέλειας (συν) Συνήθως χρησιμοποιούνται πίνακες κατακερματισμού για την υλοποίηση και την αναπαράσταση της εμβέλειας. Αν η λειτουργία insert(s, t) εισάγει το όνομα s στην αρχή της εκάστοτε αλυσίδας σύγκρουσης (collision chain), κρύβεται με τον τρόπο αυτό οποιαδήποτε προηγούμενο ίδιο αναγνωριστικό του εξωτερικού μπλοκ. Απαιτείται μια κατάλληλη υλοποίηση της delete() για την διαγραφή των στοιχείων που έχουν εισαχθεί, κατά την έξοδο από ένα μπλοκ και τη διατήρηση της ακεραιότητας του ΠΣ.

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-13 Αποκατάσταση του ΠΣ κατά την έξοδο από μπλοκ Απαιτείται η χρήση μίας διαδικασίας π.χ. close_scope. Σε περίπτωση εξαντλητικού ψαξίματος θα έχουμε: void close_scope(){ struct ST_entry *temp1; if(cur_level==1) {error(1);return(1);} for(i=0; i<hash_t_size; i++) { temp1 = hash_table[i]; while((temp1!=NULL) &&(temp1->level == current_level)) { hash_table[i]=temp1->prev_s; free(temp1); temp1=hash_table[i]; } } current_level--; }

ΕΠΛ 223 Θεωρία και Πρακτική Μεταγλωττιστών7-14 Αποκατάσταση του ΠΣ κατά την έξοδο από μπλοκ Δύο πιο αποδοτικές υλοποιήσεις είναι οι εξής: 1.Να αποθηκεύουμε κάθε φορά που εισαγάγουμε ένα νέο σύμβολο μιας διαδικασίας ή μπλοκ τον αριθμό της αλυσίδας του ΠΣ στην οποία αποθηκεύτηκε. Έτσι στην εκτέλεση της delete(), θα διατρέχουμε κάθε φορά την αλυσίδα εκείνη στην οποία υπάρχει σίγουρα σύμβολο για διαγραφή. 2.Να διασυνδέουμε μέσω ενός νέου δείκτη (scope link) όλα τα σύμβολα μιας διαδικασίας ή μπλοκ φτιάχοντας έτσι μία νέα συνδεδεμένη λίστα. Η πράξη delete() κατά την έξοδο θα διαγράφει τα σύμβολα εκείνα που βρίσκονται στη νέα αυτή λίστα μειώνοντας στο ελάχιστο το κόστος αναζήτησης και διαγραφής συμβόλων κατά την έξοδο από διαδικασία ή μπλοκ.