DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦9aab53038⟧ TextFile

    Length: 2343 (0x927)
    Types: TextFile
    Names: »V«

Derivation

└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Element;
with Search_Tree;
package Symbol_Table is

    -- a peut-etre revoir pour effectuer les get.. et put... dans un contexte
    -- au lieu de faire faire ces changements par l'utilisateur


    procedure Insert_Element (The_Name : in String; Ok : out Boolean);

    procedure Set_Val (The_Name : in String;
                       The_Value : Element.Value;
                       Ok : out Boolean);

    procedure Set_Type (The_Name : in String;
                        The_Type : Element.Type_Element;
                        Ok : out Boolean);

    procedure Get_Val (The_Name : in String;
                       The_Value : out Element.Value;
                       Ok : out Boolean);

    procedure Get_Type (The_Name : in String;
                        The_Type : out Element.Type_Element;
                        Ok : out Boolean);

    procedure Get_Class (The_Name : in String;
                         The_Class : out Element.Class;
                         Ok : out Boolean);

    procedure Set_Class (The_Name : in String;
                         The_Class : in Element.Class;
                         Ok : out Boolean);

    procedure Set_Table (The_Name : in String; Ok : out Boolean);

    procedure Get_Adress (The_Name : in String;
                          The_Adress : out Integer;
                          Ok : out Boolean);

    procedure Set_Adress
                 (The_Name : in String; The_Adress : Integer; Ok : out Boolean);


    function Visible_Element (The_Name : in String) return Boolean;

    function Visible_Element_Local (The_Name : in String) return Boolean;

    procedure Change_Current_Table (The_Name : in String; Ok : out Boolean);

    procedure Leave_Table (Ok : out Boolean); -- sous reserves

    Table_Non_Disponible : exception;

private

    Table_Vide : constant := 0;
    Table_Max : constant := 20;
    Table_Globale : constant := 1;
    subtype Table is Natural range Table_Vide .. Table_Max;
    Current_Table : Table := Table_Globale;  
    Current_Top_Table : Table := Table_Globale;

    package Tree is new Search_Tree (Element => Element.Object);

    type A_Tree is
        record
            The_Tree : Tree.Object;
            Imbrication : Table := Table_Globale;
        end record;  
    The_Trees : array (Table_Globale .. Table_Max) of A_Tree;

end Symbol_Table;