DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e684a8ca1⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Symbols, seg_037dd5

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Bounded_String;
with Trace;

package body Symbols is

    procedure Create_Map (New_Table : in out Table) is
    begin
        Trace.Display ("creation nouvelle table de symboles...");
        My_Table.Initialize (New_Table.Map);  
        My_Table.Init (New_Table.Iter, New_Table.Map);
    end Create_Map;

    procedure Insert (The_Symbol : Scanner.Lexeme;
                      In_Table : in out Table;
                      With_Value : Object.Reference) is
    begin  
        Trace.Display ("insertion symbole dans la table...");
        Trace.Display (The_Symbol);
        Trace.Display (With_Value);
        My_Table.Define (In_Table.Map, Bounded_String.Image (The_Symbol),
                         With_Value, False);  
    end Insert;

    function Eval (The_Symbol : Scanner.Lexeme; In_Table : Table)
                  return Object.Reference is
        Obj : Object.Reference;
    begin
        Trace.Display ("recherche symbole dans la table...");
        Trace.Display (The_Symbol);
        Obj := My_Table.Eval (In_Table.Map, Bounded_String.Image (The_Symbol));
        Trace.Display (Obj);
        return Obj;
    end Eval;

    procedure Find (The_Symbol : Scanner.Lexeme;
                    In_Table : Table;
                    Value : in out Object.Reference;
                    Success : out Boolean) is
        Found : Boolean;
    begin
        My_Table.Find (In_Table.Map, Bounded_String.Image (The_Symbol),
                       Value, Found);
        Success := Found;
    end Find;

    function Nil return Table is
        A_Table : Table;
    begin
        A_Table.Map := My_Table.Nil;
        return A_Table;
    end Nil;

    function Is_Nil (The_Table : Table) return Boolean is
    begin
        return My_Table.Is_Nil (The_Table.Map);

    end Is_Nil;

end Symbols;

E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1d rec1=00 rec2=01 rec3=070
        [0x01] rec0=20 rec1=00 rec2=02 rec3=001
    tail 0x215312a1884e589b82bdc 0x42a00088462060003