sig
  type token =
      ERRORTOKEN of (Flx_ast.srcref * string)
    | ENDMARKER
    | NEWLINE
    | COMMENT of string
    | COMMENT_NEWLINE of string
    | WHITE of int
    | NAME of (Flx_ast.srcref * string)
    | INTEGER of (Flx_ast.srcref * string * Flx_ast.bigint)
    | FLOAT of (Flx_ast.srcref * string * string)
    | STRING of (Flx_ast.srcref * string)
    | CSTRING of (Flx_ast.srcref * string)
    | WSTRING of (Flx_ast.srcref * string)
    | USTRING of (Flx_ast.srcref * string)
    | USER10 of (Flx_ast.srcref * string * string)
    | USERLB of (Flx_ast.srcref * (string * string) list * string)
    | USERRB of (Flx_ast.srcref * string)
    | DOLLAR of Flx_ast.srcref
    | QUEST of Flx_ast.srcref
    | EXCLAMATION of Flx_ast.srcref
    | LPAR of Flx_ast.srcref
    | RPAR of Flx_ast.srcref
    | LSQB of Flx_ast.srcref
    | RSQB of Flx_ast.srcref
    | LBRACE of Flx_ast.srcref
    | RBRACE of Flx_ast.srcref
    | COLON of Flx_ast.srcref
    | COMMA of Flx_ast.srcref
    | SEMI of Flx_ast.srcref
    | PLUS of Flx_ast.srcref
    | MINUS of Flx_ast.srcref
    | STAR of Flx_ast.srcref
    | SLASH of Flx_ast.srcref
    | VBAR of Flx_ast.srcref
    | AMPER of Flx_ast.srcref
    | LESS of Flx_ast.srcref
    | GREATER of Flx_ast.srcref
    | EQUAL of Flx_ast.srcref
    | DOT of Flx_ast.srcref
    | PERCENT of Flx_ast.srcref
    | BACKQUOTE of Flx_ast.srcref
    | TILDE of Flx_ast.srcref
    | CIRCUMFLEX of Flx_ast.srcref
    | ANDLESS of Flx_ast.srcref
    | ANDGREATER of Flx_ast.srcref
    | EQEQUAL of Flx_ast.srcref
    | NOTEQUAL of Flx_ast.srcref
    | LESSEQUAL of Flx_ast.srcref
    | GREATEREQUAL of Flx_ast.srcref
    | LEFTSHIFT of Flx_ast.srcref
    | RIGHTSHIFT of Flx_ast.srcref
    | STARSTAR of Flx_ast.srcref
    | LESSCOLON of Flx_ast.srcref
    | COLONGREATER of Flx_ast.srcref
    | DOTDOT of Flx_ast.srcref
    | COLONCOLON of Flx_ast.srcref
    | PLUSPLUS of Flx_ast.srcref
    | MINUSMINUS of Flx_ast.srcref
    | PLUSEQUAL of Flx_ast.srcref
    | MINUSEQUAL of Flx_ast.srcref
    | STAREQUAL of Flx_ast.srcref
    | SLASHEQUAL of Flx_ast.srcref
    | PERCENTEQUAL of Flx_ast.srcref
    | CARETEQUAL of Flx_ast.srcref
    | VBAREQUAL of Flx_ast.srcref
    | AMPEREQUAL of Flx_ast.srcref
    | TILDEEQUAL of Flx_ast.srcref
    | COLONEQUAL of Flx_ast.srcref
    | RIGHTARROW of Flx_ast.srcref
    | EQRIGHTARROW of Flx_ast.srcref
    | LEFTARROW of Flx_ast.srcref
    | LSQANGLE of Flx_ast.srcref
    | RSQANGLE of Flx_ast.srcref
    | LSQBAR of Flx_ast.srcref
    | RSQBAR of Flx_ast.srcref
    | AMPERAMPER of Flx_ast.srcref
    | VBARVBAR of Flx_ast.srcref
    | SLOSHAMPER of Flx_ast.srcref
    | SLOSHVBAR of Flx_ast.srcref
    | SLOSHCIRCUMFLEX of Flx_ast.srcref
    | LEFTSHIFTEQUAL of Flx_ast.srcref
    | RIGHTSHIFTEQUAL of Flx_ast.srcref
    | LEFTRIGHTARROW of Flx_ast.srcref
    | ANDEQEQUAL of Flx_ast.srcref
    | ANDNOTEQUAL of Flx_ast.srcref
    | ANDLESSEQUAL of Flx_ast.srcref
    | ANDGREATEREQUAL of Flx_ast.srcref
    | DOTDOTDOT of Flx_ast.srcref
    | ALL of Flx_ast.srcref
    | AND of Flx_ast.srcref
    | AS of Flx_ast.srcref
    | ASSERT of Flx_ast.srcref
    | BODY of Flx_ast.srcref
    | CALL of Flx_ast.srcref
    | CASE of Flx_ast.srcref
    | CASENO of Flx_ast.srcref
    | CLASS of Flx_ast.srcref
    | CODE of Flx_ast.srcref
    | COMMENT_KEYWORD of Flx_ast.srcref
    | CONST of Flx_ast.srcref
    | CCLASS of Flx_ast.srcref
    | CSTRUCT of Flx_ast.srcref
    | CTOR of Flx_ast.srcref
    | CTYPES of Flx_ast.srcref
    | DEF of Flx_ast.srcref
    | DO of Flx_ast.srcref
    | DONE of Flx_ast.srcref
    | ELIF of Flx_ast.srcref
    | ELSE of Flx_ast.srcref
    | ENDIF of Flx_ast.srcref
    | ENDMATCH of Flx_ast.srcref
    | ENUM of Flx_ast.srcref
    | EXPECT of Flx_ast.srcref
    | EXPORT of Flx_ast.srcref
    | FOR of Flx_ast.srcref
    | FORGET of Flx_ast.srcref
    | FORK of Flx_ast.srcref
    | FUNCTOR of Flx_ast.srcref
    | FUNCTION of Flx_ast.srcref
    | GOTO of Flx_ast.srcref
    | HEADER of Flx_ast.srcref
    | IF of Flx_ast.srcref
    | INCLUDE of Flx_ast.srcref
    | INCOMPLETE of Flx_ast.srcref
    | INF of Flx_ast.srcref
    | IN of Flx_ast.srcref
    | IS of Flx_ast.srcref
    | ISIN of Flx_ast.srcref
    | INHERIT of Flx_ast.srcref
    | INLINE of Flx_ast.srcref
    | JUMP of Flx_ast.srcref
    | LET of Flx_ast.srcref
    | LOOP of Flx_ast.srcref
    | LVAL of Flx_ast.srcref
    | MACRO of Flx_ast.srcref
    | MATCH of Flx_ast.srcref
    | MODULE of Flx_ast.srcref
    | NAN of Flx_ast.srcref
    | NEW of Flx_ast.srcref
    | NOEXPAND of Flx_ast.srcref
    | NOINLINE of Flx_ast.srcref
    | NONTERM of Flx_ast.srcref
    | NORETURN of Flx_ast.srcref
    | NOT of Flx_ast.srcref
    | OBJECT of Flx_ast.srcref
    | OF of Flx_ast.srcref
    | OPEN of Flx_ast.srcref
    | OR of Flx_ast.srcref
    | PARSE of Flx_ast.srcref
    | POD of Flx_ast.srcref
    | PRIVATE of Flx_ast.srcref
    | PROCEDURE of Flx_ast.srcref
    | PROPERTY of Flx_ast.srcref
    | PUBLIC of Flx_ast.srcref
    | PUBLISH of Flx_ast.srcref
    | REGEXP of Flx_ast.srcref
    | REGLEX of Flx_ast.srcref
    | REGMATCH of Flx_ast.srcref
    | RENAME of Flx_ast.srcref
    | REQUIRES of Flx_ast.srcref
    | RETURN of Flx_ast.srcref
    | STRUCT of Flx_ast.srcref
    | THE of Flx_ast.srcref
    | THEN of Flx_ast.srcref
    | TODO of Flx_ast.srcref
    | TO of Flx_ast.srcref
    | TYPEDEF of Flx_ast.srcref
    | TYPEMATCH of Flx_ast.srcref
    | TYPE of Flx_ast.srcref
    | UNION of Flx_ast.srcref
    | USE of Flx_ast.srcref
    | VAL of Flx_ast.srcref
    | VAR of Flx_ast.srcref
    | WHEN of Flx_ast.srcref
    | WHILST of Flx_ast.srcref
    | WITH of Flx_ast.srcref
    | UNTIL of Flx_ast.srcref
    | UNDERSCORE of Flx_ast.srcref
    | GC_POINTER of Flx_ast.srcref
    | SVC of Flx_ast.srcref
  val statement :
    (Lexing.lexbuf -> Flx_parse.token) ->
    Lexing.lexbuf -> Flx_ast.statement_t
  val compilation_unit :
    (Lexing.lexbuf -> Flx_parse.token) ->
    Lexing.lexbuf -> Flx_ast.compilation_unit_t
  val expression :
    (Lexing.lexbuf -> Flx_parse.token) -> Lexing.lexbuf -> Flx_ast.expr_t
end