|
|
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: 3072 (0xc00)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Expression, seg_047ffa, seg_049a3c, seg_049a5e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Attribute;
package Expression is
type Node_Kind is (Add, Substract, Multiply, Divide, Number,
Single_Attribute, Enumerate, Unknown);
subtype Operator is Node_Kind range Add .. Divide;
type Object is private;
procedure Create (Item : out Object;
Kind : in Operator;
Left, Right : in Object;
Ok : out Boolean);
procedure Create (Item : out Object; A_Number : in Integer);
procedure Create (Item : out Object; An_Attribute : in Attribute.Object);
procedure Create (Item : out Object; Enumeration, Literal : in Positive);
procedure Show (Item : in Object);
function Is_A_Number (Item : in Object) return Boolean;
function Is_An_Enumerate (Item : in Object) return Boolean;
function Evaluate (Item : in Object) return Integer;
function Literal (Item : in Object) return Natural;
function Enumeration (Item : in Object) return Natural;
Null_Object : constant Object;
private
type Node (Kind : Node_Kind := Unknown) is
record
case Kind is
when Add | Substract | Multiply | Divide =>
Left_Node, Right_Node : Object;
when Number =>
Number_Value : Integer := 0;
when Single_Attribute =>
The_Attribute : Attribute.Object := Attribute.Null_Object;
when Enumerate =>
Enumeration_Index : Natural := 0;
Literal_Index : Natural := 0;
when Unknown =>
null;
end case;
end record;
type Object is access Node;
Null_Object : constant Object := new Node'(Kind => Unknown);
end Expression;
nblk1=2
nid=0
hdr6=4
[0x00] rec0=18 rec1=00 rec2=01 rec3=064
[0x01] rec0=1c rec1=00 rec2=02 rec3=001
tail 0x2174befd286579a7db857 0x42a00088462060003