DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: B T

⟦bf2d80174⟧ TextFile

    Length: 1747 (0x6d3)
    Types: TextFile
    Names: »B«

Derivation

└─⟦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⟧ 

TextFile

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;