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

⟦090861f52⟧ TextFile

    Length: 4938 (0x134a)
    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

-------------------------PROLOGUE---------------------------------------
--                                                                    -*
-- Unit name    : HELP_INFO_SUPPORT
-- Date created : 9-10-84
-- Last update  : 02-07-85  Tom Duke  -  deleted HELP_INFO_COMMAND_ENUM,
----------------: STACK_FRAME, STATE_INFO_RECORD, and STATE_INFO_POINTER
----------------: types.  Deleted procedure CLEAR_TEXT_ARRAY.
----------------: 12-18-84  Tom Duke  -  added IDENTIFY_KEYWORD,
----------------: GET_NEXT_TOKEN, and PARSE procedures.  Added types,
----------------: subtypes, and variables used in these procdures.
--                                                                    -*
------------------------------------------------------------------------
--                                                                    -*
-- Abstract     : The HELP_INFO_SUPPORT package provides the constants
----------------: and types to support the implementation of the AIM
----------------: Help and Info utilities.
--                                                                    -*
------------------------------------------------------------------------
--
-- Mnemonic     :
-- Name         :
-- Release date :
------------------ Revision history ------------------------------------
--
-- DATE  AUTHOR   HISTORY
--
--
--


--------------------END-PROLOGUE----------------------------------------
package Help_Info_Support is


    Max_Line_Length : constant Integer := 80;
    Max_Level : constant Integer := 10;

    Token_Separater : constant Character := ' ';


    -- types and pointers for APPEND_TO_DISPLAY ------------

    subtype File_Text_Line is String (1 .. Max_Line_Length);

    type Text_Line;
    type Text_Link is access Text_Line;
    type Text_Line is
        record
            Text_Line : File_Text_Line;
            Line_Length : Natural := 0;
            Next_Line : Text_Link := null;
        end record;

    Top_Line : Text_Link := new Text_Line;
    Current_Line : Text_Link := Top_Line;
    Previous_Line : Text_Link := Top_Line;
    Is_First_Time : Boolean := True;

    -----------------------------------------------------------

    subtype Level_Range is Natural range 0 .. Max_Level;

    subtype Help_Info_Text_Line is String (1 .. Max_Line_Length);

    ----------
    --  type declarations for the parsed input buffer
    ----------

    subtype Line_Length is Natural range 0 .. Max_Line_Length;
    subtype Line_Index is Positive range 1 .. Max_Line_Length;
    type Token_Record is
        record
            Token : Help_Info_Text_Line;
            Length : Line_Length;
            Buffer_Pos : Positive;    -- 1..aim_support.max_data_length
        end record;
    subtype Number_Of_Tokens_Range is Natural range 0 .. Max_Level;
    subtype Token_Array_Range is Positive range 1 .. Max_Level;
    type Token_Array is array (Token_Array_Range) of Token_Record;

    ----------
    --  Subtype and type which define the structure of the table used
    --  for implicit conversion of characters from lowercase to uppercase.
    ----------
    subtype Lower_Case_Range is Character range Ascii.Lc_A .. Ascii.Lc_Z;
    type Case_Conversion_Table is array (Lower_Case_Range) of Character;

    ----------
    --  Variables used when working with the INPUT_TOKEN_TABLE.
    ----------
    Token_Length : Line_Length;
    Token_String : Help_Info_Text_Line;
    Token_Pos : Positive;

    ----------
    --  Pointer to the next character position of the user input string
    --  to be accessed during the procedures PARSE and GET_NEXT_INFO_TOKEN.
    ----------
    Input_String_Pos : Positive;

    ----------
    --  Table used to store individual tokens, their length, and their
    --  position in the user's input string.
    ----------
    Input_Token_Table : Token_Array;

    ----------
    --  Counter for saving the number of tokens extracted from the user's
    --  input string.
    ----------
    Number_Of_Tokens : Number_Of_Tokens_Range;

    ----------
    --  As the variable type indicates, the case conversion table used
    --  for implicit conversion from lowercase to uppercase.
    ----------
    Upper_Case : Case_Conversion_Table := "ABCDEFGHIJKLMNOPQRSTUVWXYZ";


    Keyword_Not_Found : exception;

    -----------------------------------------------------------

    procedure Append_To_Display (Line : in String; Char_Count : in Natural);


    procedure Identify_Keyword (Token_String : in Help_Info_Text_Line;
                                Token_Length : in Line_Length;
                                Keyword : in Help_Info_Text_Line);


    procedure Get_Next_Token (Input_String : in String;
                              Next_String : out Help_Info_Text_Line;
                              Next_Length : out Line_Length;
                              Next_Pos : out Positive);


    procedure Parse (Input_String : in String);


end Help_Info_Support;