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

⟦38060fa68⟧ TextFile

    Length: 2446 (0x98e)
    Types: TextFile
    Names: »V«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Nodes;
with Lexical;
package Symbol is

    type Kind is (Category, Station, Actor, Variable,
                  Effect, Scene, Begining, Argument, None);

    type Types is (Binaire, Fugitif, Temporel, Discret, T_Number, T_Effect,
                   T_Scene, T_Station, T_Category, T_Begining, T_Void, T_Error);

    Global_Table_Size : constant Positive := 32;
    Local_Table_Size : constant Positive := 16;
    Actor_Table_Size : constant Positive := 8;

-- Creation/Liberation/Activation

    procedure New_Table (Length : in Positive);

-- Retour a la table globale
    procedure Release_Table;

-- Initialisation de la pile des tables
    procedure Init_Tables_Stack;

-- Activation d'une table des symboles locale
    procedure Set_Current_Table (Name : in Lexical.Lexeme);

-- Desactivation de la table des symboles courante
    procedure Reset_Current_Table;

-- Modification

-- Ajoute une entree a la table des symboles
    procedure Add (The_Name : in Lexical.Lexeme; Of_Kind : in Kind);

-- Rattache le code a un effet ou une scene
    procedure Set_Code (Name : in Lexical.Lexeme; The_Code : in Nodes.Pnode);

-- Pour une station, une variable
    procedure Set_Value (Name : in Lexical.Lexeme; The_Value : in Integer);

-- Pour un argument
    procedure Set_Arg_Value (With_Value : in Lexical.Lexeme;
                             Arg_Number : in Positive);

-- Pour une variable, un acteur
    procedure Set_Type (Name : in Lexical.Lexeme; The_Type : in Types);

-- pour une station
    procedure Set_Type (From_Station : in Lexical.Lexeme;
                        With_Category : in Lexical.Lexeme);

-- Consultation

-- Pour un effet ou une scene
    function Get_Code (From_Name : in Lexical.Lexeme) return Nodes.Pnode;

-- Pour une station, une variable, un argument
    function Get_Value (From_Name : in Lexical.Lexeme) return Integer;

-- Pour un acteur
    function Get_Effectfiv_Arg_Name
                (Formal_Param : in Lexical.Lexeme) return Lexical.Lexeme;

-- Pour un acteur
    function Get_Actor_Number
                (In_Station : in Lexical.Lexeme; From_Actor : in Lexical.Lexeme)
                return Integer;

-- Pour tout sauf un acteur
    function Get_Type (From_Name : in Lexical.Lexeme) return Types;

-- Pour un acteur
    function Get_Type
                (In_Station : in Lexical.Lexeme; From_Actor : in Lexical.Lexeme)
                return Types;

-- Tests
    procedure Print;

end Symbol;