<> <> <> DIRECTORY Rope USING [ROPE], IO USING [STREAM]; Lex822: CEDAR DEFINITIONS = BEGIN <> TokenType: TYPE = {atomTok, commentTok, domainLiteralTok, EOLTok, errorTok, quotedStringTok, specialTok, whiteSpaceTok}; FieldNameType: TYPE = {nameField, dateField, textField}; ErrorCode: TYPE = {badCharacter, badFolding, badNesting}; <> LexToken: PROC [s: IO.STREAM] RETURNS [token, whiteSpace: Rope.ROPE, tokType: TokenType]; <> LexFieldName: PROC [s: IO.STREAM] RETURNS [fieldName: Rope.ROPE, fieldNameOk: BOOL]; <> LexText: PROC [s: IO.STREAM] RETURNS [text: Rope.ROPE]; <> CharProc: TYPE = PROC [char: CHAR] RETURNS [quit: BOOL _ FALSE, include: BOOL _ TRUE]; GetSequence: PROC [stream: IO.STREAM, charProc: CharProc] RETURNS [value: Rope.ROPE]; <> <> END.