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.