|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 2176 (0x880)
Types: TextFile
Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Object;
with Scanner;
with String_Map_Generic;
package Symbol_Table is
type Table_Reference is private;
-- initialiser la table des symboles
procedure Create;
-- entrer dans un bloc nomme de la table des symboles
procedure Enter (Block_Name : in Scanner.B_String);
-- entrer dans un bloc "sans nom" de la table des symboles
procedure New_Enter (Block_Name : in out Scanner.B_String);
-- quitter le bloc courant de la table des symboles
procedure Leave;
-- retourne le bloc courant
function Current_Block return Scanner.B_String;
-- inserer un element dans le bloc courant
procedure Insert (Identifier : Scanner.B_String;
Content : Object.Reference);
-- rechercher si un identificateur existe dans le bloc courant
function Is_Found_In_Block (Identifier : Scanner.B_String) return Boolean;
-- detruire un identificateur dans le bloc courant
procedure Remove (Identifier : Scanner.B_String);
-- rechercher si un identificateur existe dans la table des symboles
function Is_Found (Identifier : Scanner.B_String) return Boolean;
-- mise a jour du contenu de l'identificateur dans la table des symboles
procedure Set_Info (Identifier : Scanner.B_String;
Content : Object.Reference);
-- lecture du contenu de l'identificateur dans la table des symboles
function Get_Info (Identifier : Scanner.B_String) return Object.Reference;
-- affichage du contenu de la table des symboles
procedure Image_Table;
-- affichage du contenu du bloc courant
procedure Image_Block (Block_Name : Scanner.B_String);
private
package Block_Table is new String_Map_Generic
(Size => Scanner.Max_Size,
Range_Type => Object.Reference);
type Table_Reference is
record
Father_Name : Scanner.B_String;
Block_Access : Block_Table.Map;
end record;
package The_Symbol_Table is
new String_Map_Generic (Size => Scanner.Max_Size,
Range_Type => Table_Reference);
end Symbol_Table;