|
|
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: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Test_Case_Analysis, seg_00460b
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Io;
with Case_Analysis;
with Lrm_Renames;
use Lrm_Renames;
procedure Test_Case_Analysis (Units : String := "") is
B : Boolean := True;
Ada_Units : Ada.Element_List := Ada.Conversion.Resolve (Units);
procedure Pre_Op (Program_Element : Ada.Element;
Is_When_Others : in out Boolean;
Control : in out Ada.Traversal_Control) is
Arms : Ada.Element_Iterator;
Arm : Ada.Element;
begin
case Stmts.Kind (Program_Element) is
when Stmts.A_Case_Statement =>
Arms := Stmts.Case_Arms_List (Program_Element);
while not Ada.Done (Arms) loop
Arm := Ada.Value (Arms);
Is_When_Others := Stmts.Is_When_Others (Arm);
declare
Vals : Case_Analysis.Value_Iterator :=
Case_Analysis.Values (Arm);
begin
Io.Put_Line (Ada.Image (Arm));
while not Case_Analysis.Done (Vals) loop
case Case_Analysis.Expression_Kind
(Program_Element) is
when Case_Analysis.An_Enumeration =>
Io.Put
(Ada.Image
(Case_Analysis.Enumeration_Literal
(Vals)) & ", ");
when Case_Analysis.An_Integer =>
Io.Put (Long_Integer'Image
(Case_Analysis.Integer_Value
(Vals)) & ", ");
end case;
Case_Analysis.Next (Vals);
end loop;
Case_Analysis.Reset (Vals);
while not Case_Analysis.Done (Vals) loop
case Case_Analysis.Expression_Kind
(Program_Element) is
when Case_Analysis.An_Enumeration =>
Io.Put
(Ada.Image
(Case_Analysis.Enumeration_Literal
(Vals)) & ", ");
when Case_Analysis.An_Integer =>
Io.Put (Long_Integer'Image
(Case_Analysis.Integer_Value
(Vals)) & ", ");
end case;
Case_Analysis.Next (Vals);
end loop;
Io.New_Line;
end;
Ada.Next (Arms);
end loop;
when others =>
null;
end case;
Control := Ada.Continue;
end Pre_Op;
procedure Post_Op (Program_Element : Ada.Element;
State : in out Boolean;
Control : in out Ada.Traversal_Control) is
begin
Control := Ada.Continue;
end Post_Op;
procedure Traverse is new Ada.Depth_First_Traversal
(Boolean, Pre_Op, Post_Op);
begin
while not Ada.Done (Ada_Units) loop
Traverse (Root_Element =>
Comp_Units.Parent_Compilation_Unit (Ada.Value (Ada_Units)),
State => B,
Major_Elements_Only => True);
Ada.Next (Ada_Units);
end loop;
end Test_Case_Analysis;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=1b rec1=00 rec2=01 rec3=020
[0x01] rec0=00 rec1=00 rec2=05 rec3=012
[0x02] rec0=12 rec1=00 rec2=02 rec3=04e
[0x03] rec0=13 rec1=00 rec2=03 rec3=01e
[0x04] rec0=1b rec1=00 rec2=04 rec3=000
tail 0x215004178815c65a41140 0x42a00088462061e03