|
|
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 body Our_Tree, seg_049425
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Our_Value, Ext_String, Lex;
use Our_Value, Lex;
package body Our_Tree is
function Create return Var_Tree is
begin
return new Node;
end Create;
procedure Set_Value (Root : in out Var_Tree;
Val : Var_Value;
Left, Right : out Var_Tree) is
begin
Set_Value (Root.Value, Val);
Left := Root.Left;
Right := Root.Right;
end Set_Value;
function Get_Value (Tree : Var_Tree) return Our_Value.Var_Value is
Token : Lex.Token;
Local_Boolean : [expression] := Boolean;
Local_Integer : [expression] := Integer;
Local_String : [expression] := Var_String;
Value : Var_Value (Type_Value);
Boolean1, Boolean2 : Var_Value (Boolean);
Integer1, Integer2 : Var_Value (Integer);
String1, String2 : Var_Value (Var_String);
begin
case Get_Type (Tree.Value) is
when Undefined =>
raise Type_Conflict;
when Type_Value =>
Our_Value.Set_Value (Value, Get_Value (Tree.Value));
return Value;
when Type_Token =>
Token := Get_Value (Tree.Value);
case Token is
when Identifier =>
Set_Value (Value, Get_Value (Tree.Right));
return Value;
when Non =>
Set_Value (Boolean1, Get_Value (Tree.Right));
Local_Boolean := Op (Token, Boolean1);
Set_Value (Boolean1, Local_Boolean);
return Boolean1;
when Et =>
[statement]
when Ou =>
[statement]
end case;
when Type_Boolean =>
Boolean1 := Get_Value (Tree.Value);
when Type_Integer =>
Integer1 := Get_Value (Tree.Value);
when Type_String =>
Ext_String.Copy (String1, Get_Value (Tree.Value));
end case;
return Tree.Value;
end Get_Value;
end Our_Tree;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=23 rec1=00 rec2=01 rec3=046
[0x01] rec0=02 rec1=00 rec2=02 rec3=02e
[0x02] rec0=1e rec1=00 rec2=03 rec3=040
[0x03] rec0=0e rec1=00 rec2=04 rec3=000
tail 0x21546ab0e865b97d10385 0x42a00088462060003