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: T V

⟦3b0861043⟧ TextFile

    Length: 3338 (0xd0a)
    Types: TextFile
    Names: »V«

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 Lines;
package Structured_Comments_2 is

    --
    --
    --      STRUCTURED COMMENT:
    --      Structured comments have the following characterstics:
    --
    --      - They begin with the Ada comment designator "--".
    --
    --      - They contain a keyword field and a value field separated by
    --        a colon.  (eg.  -- KEYWORD:  This is the value field  )
    --
    --      - Keywords may be any string but may not stretch across multiple
    --        lines.
    --
    --      - Value fields may stretch across several lines.
    --
    --      - All structured comments are terminated with a line
    --        containing a comment designator "--" with no following text.
    --
    --      EXAMPLES:
    --
    --           -- KEYWORD1:  This is a value field
    --           --
    --           -- KEYWORD2:  This is a value field that
    --           --            stretches across multiple lines.
    --           --
    --
    --
    --    Indiviual structured comments may be composed into comment blocks.
    --    A comment block is a series of structured comments with a
    --    designated order.
    --
    --    In the following example of a comment block:
    --
    --         -- AUTHOR: Blipo Bottombly
    --         --
    --         -- DATE: January 14, 1986
    --         --
    --         -- FUNCTIONAL UNIT: Database
    --         --
    --         -- DESCRIPTION: This is intended as an example
    --         --              of a multi-line structured
    --         --              comment. It does not need
    --         --                  to be aligned in
    --         --            any way.
    --         --
    --
    --    there is one comment block composed of 4 structured comments.
    --    The first has the keyword "AUTHOR" and a value field of
    --    " Blipo Bottombly".  The last comment in the block has the keyword
    --    "DESCRIPTION" and has a multiline value field.  The "value" of the
    --    value field should be a single string with embedded line feed
    --    characters to indicate line breaks.
    --
    --

    type Structured_Comment is private;

    subtype Comment_Keyword is String;

    function Define (Keyword : Comment_Keyword) return Structured_Comment;
    --
    -- The keyword of a structured comment is defined here.
    -- The value field is filled in by the Parse operation.


    function Keyword (Comment : Structured_Comment) return Comment_Keyword;

    type Comment_Block is private;

    function Initialize return Comment_Block;

    procedure Add_Structured_Comment
                 (To : in out Comment_Block; Comment : Structured_Comment);
    --
    -- This procedure must preserve the order in which comments appear
    -- in a block.  The first comments added to a block is the one at
    -- the top.

    type Comment_Iterator is limited private;

    procedure Initialize (Iter : out Comment_Iterator;
                          From_Block : Comment_Block);

    function Done (Iter : Comment_Iterator) return Boolean;
    function Value (Iter : Comment_Iterator) return Structured_Comment;
    procedure Next (Iter : in out Comment_Iterator);

private
    type Structured_Comment is new Boolean;

    type Comment_Block is new Boolean;

    type Comment_Iterator is new Boolean;

end Structured_Comments_2;