# Listen?



## baobab (26. Apr 2005)

Hallo,

ich habe hier eine Aufgabe, mit der ich nicht klar komme, die dürfte aber für Erfahrene Programmierer nicht schwer sein.  Wenn jemand diese Aufgabe vorrechnen könnte, (ich muss die bis mittwoch fertig haben) wäre ich euch sehr dankbar.

Aufgabe:

Compiler für Block orientierte Sprachen benutzen intern sogenannte Symboltabellen, in denen für jeden bezeichner (z.B Variablenname) dessen Attribute abgelegt werden ( z.B Variablentyp). Allerdings sind Bezeichnernicht im ganzen Programm sichtbar, sondern nur innerhalb des Blocks, in dem Sie definiert wurden und dort nur an der Stelle, an der sie definiert wurden(sog. Sichtbarkeitsbereiche)
Spezifizieren Sie einen Abstrakten Datentyp Symboltabelle durch Angabe entsprechender Sorten, Funktionen und Axiome mit folgender Funktionalität.

init -          Initialisiere Symboltabelle

enter_scope -        Erstelle einen lokalen Sichtbarkeitsbereich innerhalb des aktuellen Sichtbarkeitsbereichs

leave_scope -        Verwirf die Daten aus demzuletzt angelegten Sichtbarkeitsbereich und stelle den Darüberliegenden Sichtbarkeitsbereich wieder her.

is_in_scope -         Wurde ein Bezeichner im aktuellen Sichtbarkeitsbereich bereits definiert?

add   -                   Füge einen beseichner und seine Attribute dem Aktuellen Sichtbarkeitsbereich der tabelle hinzu.

retrieve      -          Gib die Attribute eines Benutzers im kleinsten ihn umgebenden Sichtbarkeitsbereich zurück


----------



## DP (26. Apr 2005)

wir machen hier keine hausaufgaben

*closed*


----------



## thE_29 (26. Apr 2005)

Wenn du einen Ansatz, desweiteren hast, dann komm wieder!

Verschoben nach Aufgaben!

@DP: zumachen müssen wir sie nicht, nur nicht machen


----------



## mic_checker (26. Apr 2005)

Weisst du denn zumindest wie man ADT's richtig aufstellt? Ich nehme an ihr habt vorher bereits einige Beispiele dazu gemacht.

Mit welchem Teil der ADT hast du denn genau Probleme ? Es wäre sicher schon hilfreich wenn du mal bisherige Ergebnisse posten würdest.


----------

