gm2-libs/OptLib (The GNU Modula-2 Compiler)

#### 4.1.29 gm2-libs/OptLib ¶

    DEFINITION MODULE OptLib ;

    FROM SYSTEM IMPORT ADDRESS ;
    FROM DynamicStrings IMPORT String ;

    TYPE
       Option ;

    (*
       InitOption - constructor for Option.
    *)

    PROCEDURE InitOption (argc: INTEGER; argv: ADDRESS) : Option ;

    (*
       KillOption - deconstructor for Option.
    *)

    PROCEDURE KillOption (o: Option) : Option ;

    (*
       Dup - duplicate the option array inside, o.
             Notice that this does not duplicate all the contents
             (strings) of argv.
             Shallow copy of the top level indices.
    *)

    PROCEDURE Dup (o: Option) : Option ;

    (*
       Slice - return a new option which has elements [low:high] from the
               options, o.
    *)

    PROCEDURE Slice (o: Option; low, high: INTEGER) : Option ;

    (*
       IndexStrCmp - returns the index in the argv array which matches
                     string, s.  -1 is returned if the string is not found.
    *)

    PROCEDURE IndexStrCmp (o: Option; s: String) : INTEGER ;

    (*
       IndexStrNCmp - returns the index in the argv array where the first
                      characters are matched by string, s.
                      -1 is returned if the string is not found.
    *)

    PROCEDURE IndexStrNCmp (o: Option; s: String) : INTEGER ;

    (*
       ConCat - returns the concatenation of a and b.
    *)

    PROCEDURE ConCat (a, b: Option) : Option ;

    (*
       GetArgv - return the argv component of option.
    *)

    PROCEDURE GetArgv (o: Option) : ADDRESS ;

    (*
       GetArgc - return the argc component of option.
    *)

    PROCEDURE GetArgc (o: Option) : INTEGER ;

    END OptLib.