|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 1747 (0x6d3)
Types: TextFile
Names: »B«
└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
└─⟦5cb1d1d7f⟧ »DATA«
└─⟦3b1ee7bd8⟧
└─⟦this⟧
with Yeild1;
with Lines;
with Structured_Comments_Solution;
with Simple_Text_Io;
procedure Test_Solution is
package Sio renames Simple_Text_Io;
package S_Comments renames Structured_Comments_Solution;
Block_Definition : S_Comments.Comment_Block := S_Comments.Initialize;
Iter : S_Comments.Comment_Iterator;
Current_Comment : S_Comments.Structured_Comment;
Line_Iter : Lines.Line_Iterator;
begin
S_Comments.Add_Structured_Comment (To => Block_Definition,
Comment => S_Comments.Define ("AUTHOR"));
S_Comments.Add_Structured_Comment (To => Block_Definition,
Comment => S_Comments.Define ("DATE"));
S_Comments.Add_Structured_Comment
(To => Block_Definition,
Comment => S_Comments.Define ("FUNCTIONAL UNIT"));
S_Comments.Add_Structured_Comment
(To => Block_Definition, Comment => S_Comments.Define ("DESCRIPTION"));
S_Comments.Parse (Comment_Lines => Yeild1, Block => Block_Definition);
S_Comments.Initialize (Iter, Block_Definition);
while not S_Comments.Done (Iter) loop
Current_Comment := S_Comments.Value (Iter);
Sio.Put_Line ("KEYWORD: " & S_Comments.Keyword (Current_Comment));
Sio.Put_Line ("VALUE:");
Line_Iter := Lines.Initialize
(Lines => S_Comments.Value_Field (Current_Comment));
while not Lines.Done (Line_Iter) loop
Sio.Put_Line (Lines.Value (Line_Iter));
Lines.Next (Line_Iter);
end loop;
Sio.New_Line;
S_Comments.Next (Iter);
end loop;
exception
when S_Comments.Illegal_Block_Format =>
Sio.Put_Line ("Bad Comment Block");
end Test_Solution;