|
|
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: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body If_Struct, seg_038b52
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Lex, Error, Symbol, Debug, Binary_Tree;
with Condition, Description_List, Sinon_Struct;
package body If_Struct is
procedure Parse (N : in out Binary_Tree.Node; Success : in out Boolean) is
N1, N2 : Binary_Tree.Node;
Ok : Boolean := True;
begin
Success := True;
if Lex.Current_Token_Is (Lex.Si) then
N1 := new Binary_Tree.Node_Structure;
N2 := new Binary_Tree.Node_Structure;
N1.The_Type := Binary_Tree.Si_Type;
Lex.Next;
Condition.Parse (N1.Left_Son, Ok);
N1.Right_Son := N2;
if Lex.Current_Token_Is (Lex.Alors) then
Lex.Next;
Description_List.Parse (N2.Left_Son, Ok);
Success := Success and Ok;
Sinon_Struct.Parse (N2.Right_Son, Ok);
Success := Success and Ok;
if Lex.Current_Token_Is (Lex.Fin) then
Lex.Next;
if Lex.Current_Token_Is (Lex.Si) then
Lex.Next;
else
Error.Append (32);
Success := False;
end if;
else
Error.Append (33);
Success := False;
end if;
end if;
N := N1;
end if;
end Parse;
procedure Generate (N : Binary_Tree.Node; T : in out Natural) is
begin
if Condition.Generate (N.Left_Son) then
Description_List.Generate (N.Right_Son.Left_Son, T);
else
Sinon_Struct.Generate (N.Right_Son.Right_Son, T);
end if;
end Generate;
end If_Struct;
nblk1=3
nid=3
hdr6=4
[0x00] rec0=1a rec1=00 rec2=01 rec3=006
[0x01] rec0=1d rec1=00 rec2=02 rec3=001
[0x02] rec0=0b rec1=00 rec2=00 rec3=004
tail 0x21736650084e83915ef39 0x42a00088462060003
Free Block Chain:
0x3: 0000 00 00 00 24 80 01 3b 01 00 00 00 00 00 00 00 00 ┆ $ ; ┆