PositionedList.mesa
Copyright Ó 1985, 1986, 1987, 1993 by Xerox Corporation. All rights reserved.
created by L. Stewart
Russ Atkinson (RRA) January 20, 1987 7:16:18 am PST
Last tweaked by Mike Spreitzer on February 22, 1988 1:29:03 pm PST
Renamed by Swinehart, September 17, 1993 12:31 pm PDT
DIRECTORY
Commander USING [Handle],
CommanderOps USING [ArgumentVector],
Rope USING [ROPE];
PositionedList: CEDAR DEFINITIONS ~ {
PositionedArgumentList: TYPE ~ LIST OF PositionedArgument;
PositionedArgumentVector: TYPE ~ REF PositionedArgumentVectorPrivate;
PositionedArgumentVectorPrivate: TYPE ~ RECORD [s: SEQUENCE argc: NAT OF PositionedArgument];
PositionedArgument: TYPE ~ RECORD [
start, length: INT--char positions of argument in command line--,
rope: Rope.ROPE];
ParseToPositionedList: PROC [cmd: Commander.Handle, switchChar: CHAR ¬ '-] RETURNS [list: PositionedArgumentList, length: NAT];
ParsePositioned: PROC [cmd: Commander.Handle, switchChar: CHAR ¬ '-]
RETURNS [argv: PositionedArgumentVector];
StripVectorPositions: PROC [pargv: PositionedArgumentVector] RETURNS [argv: CommanderOps.ArgumentVector];
StripListPositions: PROC [PositionedArgumentList] RETURNS [LIST OF Rope.ROPE];
}.