type token = AND | ANDALSO | AS | ASSIGN | CASE | DO | ELSE | END | EXCEPTION | FN | FOR | FUN | FUNCTOR | HANDLE | IF | IN | INCLUDE | LET | LOCAL | OF | OP | OPEN | ORELSE | RAISE | REC | REF | SIG | SIGNATURE | STRUCT | STRUCTURE | THEN | TYPE | VAL | WHERE | WHILE | NIL | LID of (string) | UID of (string) | INT of (int) | REAL of (string) | STRING of (string) | CHAR of (char) | PATH of (string) | UNDERSCORE | LPAREN | RPAREN | LBRACE | RBRACE | COLON | SEMI | SEMISEMI | COMMA | STAR | ARROW | REVERSEARROW | DOUBLEARROW | BAR | LBRACKET | RBRACKET | LBRACKETBAR | BARRBRACKET | DOT | DOTDOTDOT | MINUS | MINUSMINUS | PLUS | PLUSPLUS | QUOTE | EQUAL | COLONCOLON | NOT | BANG | EOF | PREFIX of (string) | INFIX0 of (string) | INFIX1 of (string) | INFIX2 of (string) | INFIX3 of (string) | INFIX4 of (string) | INFIX5 of (string) val batch_parse : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> String_ast.Ast.topdec val interactive_parse : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> String_ast.Ast.topdec