|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Dynamic_Node, seg_0474fe
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Dynamic_Value;
package Dynamic_Node is
type Kinds is (Unknown, Value, Binary_Operator,
Unary_Operator, Ternary_Operator);
type Positions is (Left, Right, Center);
Verb_Position : constant Positions := Left;
Cplt1_Position : constant Positions := Center;
Cplt2_Position : constant Positions := Right;
type Binary_Operators is (Add, Subtract, Divide, Multiply, Equal,
Less, Less_Equal, More, More_Equal,
Different, Logical_And, Logical_Or, In_Set);
type Unary_Operators is (Plus, Minus, Logical_Not, Verb, Complement);
type Ternary_Operators is (Sentence);
type Authorized_Type is (Type_Unknown, Type_Int, Type_String, Type_Voca,
Type_Bool, Type_Voca_Or_Bool, Type_Set_Words);
type Object is private;
Object_Already_Exists : exception;
Object_Is_Not_Created : exception;
Object_Is_Not_Evaluated : exception;
Value_Does_Not_Exist_Or_Is_Not_Evaluated : exception;
procedure Create_Value (Obj : in out Object);
procedure Set_Value (Obj : in out Object; Val : in Dynamic_Value.Object);
procedure Create_Unary_Operator (Obj : in out Object; Op : Unary_Operators);
procedure Create_Binary_Operator
(Obj : in out Object; Op : Binary_Operators);
procedure Create_Ternary_Operator
(Obj : in out Object; Op : Ternary_Operators);
function Get_Kind (Obj : in Object) return Kinds;
function Get_Operator (Obj : in Object) return String;
function Get_Type_Of_Object (Obj : in Object) return Authorized_Type;
procedure Set_Argument (Obj : in out Object;
Arg : in Object;
Where : Positions := Center);
function Get_Argument
(Obj : in Object; Where : Positions := Center) return Object;
function Get_Value (Obj : in Object) return Dynamic_Value.Object;
procedure Evaluate (Obj : in Object);
procedure Print (Obj : in Object);
function Does_Exists (Obj : in Object) return Boolean;
procedure Disconnect (Obj : in out Object);
private
type Node (What : Kinds := Unknown);
type Object is access Node;
end Dynamic_Node;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=1f rec1=00 rec2=01 rec3=01e
[0x01] rec0=00 rec1=00 rec2=03 rec3=004
[0x02] rec0=15 rec1=00 rec2=02 rec3=042
[0x03] rec0=0f rec1=00 rec2=04 rec3=000
tail 0x215444afe865392e0469c 0x42a00088462060003