Surface.TokensSourcetype token = | YEAR| XOR| WITH_V| WITH| WILDCARD| WE_HAVE| VARIES| UNDER_CONDITION| UIDENT of string| TRUE| THEN| THAT| TEXT| SUM| SUCH| STRUCT| STATE| SEMICOLON| SCOPE| RULE| RPAREN| RBRACKET| RBRACE| PLUSPLUS| PLUS of Ast.op_kind| PERCENT| OUTPUT| OR| OF| NOT_EQUAL| NOT| MULT of Ast.op_kind| MONTH| MONEY_AMOUNT of string * string| MONEY| MODULE_USE| MODULE_EXTERNAL| MODULE_DEF| MODULE_ALIAS| MINUS of Ast.op_kind| MINIMUM| MAXIMUM| MATCH| LPAREN| LIST_EMPTY| LIST| LIDENT of string| LET| LESSER_EQUAL of Ast.op_kind| LESSER of Ast.op_kind| LBRACKET| LBRACE| LAW_TEXT of string| LAW_INCLUDE| LAW_HEADING of string * string option * bool * int| LABEL| IS| INT_LITERAL of string| INTERNAL| INTEGER| INPUT| INCREASING| IN| IF| GREATER_EQUAL of Ast.op_kind| GREATER of Ast.op_kind| FOR| FIXED| FILLED| FALSE| EXISTS| EXCEPTION| EQUAL| EOF| ENUM| END_DIRECTIVE| END_CODE of string| ELSE| DURATION| DOT| DIV of Ast.op_kind| DIRECTIVE_ARG of string| DEPENDS| DEFINITION| DEFINED_AS| DECREASING| DECLARATION| DECIMAL_LITERAL of string * string| DECIMAL| DAY| DATE_LITERAL of int * int * int| DATE| DATA| CONTEXT| CONTENT| CONTAINS| CONSEQUENCE| CONDITION| COMMA| COLON| CARDINAL| BY| BUT_REPLACE| BOOLEAN| BEGIN_METADATA| BEGIN_DIRECTIVE| BEGIN_CODE| AT_PAGE of int| ASSERTION| AND| AMONG| ALT| ALL