|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7168 (0x1c00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Dynamic_Value, seg_0474c2
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
package Dynamic_Value is
Type_Mismatch : exception;
Division_By_Zero : exception;
Illegal_Operation : exception;
Integer_Expected : exception;
String_Expected : exception;
Boolean_Expected : exception;
Word_Expected : exception;
Set_Expected : exception;
Word_Or_String_Expected : exception;
type Kinds is (Unknown, Integer_Number, String_Of_Characters,
Vocabulary_Word, Boolean_Number, Set_Of_Words);
type Type_Value is (String_Value, Voca_Value);
type Object is private;
-- fonctions de manipulation des objets
procedure Dispose (Obj : in out Object);
function Are_Equal (Obj1, Obj2 : in Object) return Boolean;
function Get_Kind (Obj : in Object) return Kinds;
function Get_Value (Obj : in Object) return Integer;
procedure Set_Value (Obj : in out Object; Val : Integer);
function Get_Value (Obj : in Object) return String;
procedure Set_Value (Obj : in out Object;
Val : String;
Is_A_Vocabulary_Word : Type_Value := String_Value);
function Get_Value (Obj : in Object) return Boolean;
procedure Set_Value (Obj : in out Object; Val : in Boolean);
procedure Deep_Copy (Source : in Object; Target : in out Object);
procedure Light_Copy (Source : in Object; Target : in out Object);
procedure Print (Obj : in Object);
-- procedure d'evaluation des objets
-- *** operations valables sur plusieurs types selon le sens commun ***
procedure Are_Equal (Left, Right : in Object; Result : in out Object);
procedure Is_Less (Left, Right : in Object; Result : in out Object);
procedure Is_Less_Equal (Left, Right : in Object; Result : in out Object);
procedure Is_More (Left, Right : in Object; Result : in out Object);
procedure Is_More_Equal (Left, Right : in Object; Result : in out Object);
procedure Is_Different (Left, Right : in Object; Result : in out Object);
-- *** les entiers ***
procedure Change_Sign (Obj : in Object; Result : in out Object);
procedure Add (Left, Right : in Object; Result : in out Object);
procedure Substract (Left, Right : in Object; Result : in out Object);
procedure Multiply (Left, Right : in Object; Result : in out Object);
procedure Divide (Left, Right : in Object; Result : in out Object);
-- *** les booleens ***
procedure Logical_And (Left, Right : in Object; Result : in out Object);
procedure Logical_Or (Left, Right : in Object; Result : in out Object);
procedure Logical_Not (Obj : in Object; Result : in out Object);
-- *** les ensembles ***
procedure Create (Set : in out Object);
procedure In_Set (Set : in Object;
Element : in String;
Result : in out Object);
procedure Append_To_Set (Set : in out Object; Element : in String);
procedure Delete_From_Set (Set : in out Object; Element : in String);
procedure Purge_Set (Set : in out Object);
private
type Value (What : Kinds := Unknown);
type Object is access Value;
end Dynamic_Value;
nblk1=6
nid=3
hdr6=8
[0x00] rec0=1d rec1=00 rec2=01 rec3=038
[0x01] rec0=14 rec1=00 rec2=05 rec3=05a
[0x02] rec0=17 rec1=00 rec2=02 rec3=010
[0x03] rec0=0f rec1=00 rec2=04 rec3=000
[0x04] rec0=04 rec1=00 rec2=03 rec3=001
[0x05] rec0=6f rec1=70 rec2=65 rec3=373
tail 0x2174aad9886538ecb732a 0x42a00088462060003
Free Block Chain:
0x3: 0000 00 06 00 1e 00 12 65 6e 64 20 44 79 6e 61 6d 69 ┆ end Dynami┆
0x6: 0000 00 00 00 04 80 01 6f 01 49 6e 74 65 67 65 72 29 ┆ o Integer)┆