--- /dev/null
+# 2 "lexer.mll"
+
+open Parser(* The type token is defined in parser.mli *)
+exception Eof
+
+# 7 "lexer.ml"
+let __ocaml_lex_tables = {
+ Lexing.lex_base =
+ "\000\000\240\255\000\000\244\255\245\255\246\255\247\255\001\000\
+ \249\255\075\000\085\000\160\000\254\255\255\255\235\000\054\001\
+ \243\255\242\255";
+ Lexing.lex_backtrk =
+ "\255\255\255\255\014\000\255\255\255\255\255\255\255\255\007\000\
+ \255\255\005\000\003\000\003\000\255\255\255\255\004\000\002\000\
+ \255\255\255\255";
+ Lexing.lex_default =
+ "\255\255\000\000\255\255\000\000\000\000\000\000\000\000\255\255\
+ \000\000\255\255\255\255\255\255\000\000\000\000\255\255\255\255\
+ \000\000\000\000";
+ Lexing.lex_trans =
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\013\000\012\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \004\000\003\000\006\000\008\000\000\000\007\000\000\000\005\000\
+ \009\000\009\000\009\000\009\000\009\000\009\000\009\000\009\000\
+ \009\000\009\000\000\000\000\000\000\000\002\000\017\000\016\000\
+ \000\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\000\000\000\000\000\000\000\000\010\000\
+ \000\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\011\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\009\000\009\000\009\000\009\000\009\000\
+ \009\000\009\000\009\000\009\000\009\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \000\000\000\000\000\000\000\000\014\000\000\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\000\000\000\000\000\000\000\000\014\000\
+ \001\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\015\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\000\000\000\000\
+ \000\000\000\000\014\000\000\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\000\000\000\000\000\000\000\000\014\000\000\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000";
+ Lexing.lex_check =
+ "\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\000\000\000\000\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \000\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \000\000\000\000\000\000\000\000\255\255\000\000\255\255\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\255\255\255\255\255\255\000\000\002\000\007\000\
+ \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\255\255\255\255\255\255\255\255\000\000\
+ \255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
+ \000\000\000\000\000\000\009\000\009\000\009\000\009\000\009\000\
+ \009\000\009\000\009\000\009\000\009\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \255\255\255\255\255\255\255\255\010\000\255\255\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \010\000\010\000\010\000\010\000\010\000\010\000\010\000\010\000\
+ \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\255\255\255\255\255\255\255\255\011\000\
+ \000\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\011\000\011\000\011\000\011\000\011\000\
+ \011\000\011\000\011\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\255\255\255\255\
+ \255\255\255\255\014\000\255\255\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\014\000\014\000\
+ \014\000\014\000\014\000\014\000\014\000\014\000\015\000\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\255\255\255\255\255\255\255\255\015\000\255\255\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\015\000\015\000\015\000\015\000\015\000\015\000\015\000\
+ \015\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
+ \255\255\255\255\255\255\255\255\255\255\255\255\255\255";
+ Lexing.lex_base_code =
+ "";
+ Lexing.lex_backtrk_code =
+ "";
+ Lexing.lex_default_code =
+ "";
+ Lexing.lex_trans_code =
+ "";
+ Lexing.lex_check_code =
+ "";
+ Lexing.lex_code =
+ "";
+}
+
+let rec token lexbuf =
+ __ocaml_lex_token_rec lexbuf 0
+and __ocaml_lex_token_rec lexbuf __ocaml_lex_state =
+ match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
+ | 0 ->
+# 7 "lexer.mll"
+ ( token lexbuf )
+# 186 "lexer.ml"
+
+ | 1 ->
+# 8 "lexer.mll"
+ ( EOL )
+# 191 "lexer.ml"
+
+ | 2 ->
+# 9 "lexer.mll"
+ ( IN )
+# 196 "lexer.ml"
+
+ | 3 ->
+let
+# 10 "lexer.mll"
+ lxm
+# 202 "lexer.ml"
+= Lexing.sub_lexeme_char lexbuf lexbuf.Lexing.lex_start_pos in
+# 10 "lexer.mll"
+ ( ID((String.make 1 lxm)) )
+# 206 "lexer.ml"
+
+ | 4 ->
+let
+# 11 "lexer.mll"
+ lxm
+# 212 "lexer.ml"
+= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
+# 11 "lexer.mll"
+ ( ID(lxm) )
+# 216 "lexer.ml"
+
+ | 5 ->
+let
+# 12 "lexer.mll"
+ lxm
+# 222 "lexer.ml"
+= Lexing.sub_lexeme lexbuf lexbuf.Lexing.lex_start_pos lexbuf.Lexing.lex_curr_pos in
+# 12 "lexer.mll"
+ ( INT(lxm) )
+# 226 "lexer.ml"
+
+ | 6 ->
+# 13 "lexer.mll"
+ ( PLUS )
+# 231 "lexer.ml"
+
+ | 7 ->
+# 14 "lexer.mll"
+ ( MINUS )
+# 236 "lexer.ml"
+
+ | 8 ->
+# 15 "lexer.mll"
+ ( TIMES )
+# 241 "lexer.ml"
+
+ | 9 ->
+# 16 "lexer.mll"
+ ( DIV )
+# 246 "lexer.ml"
+
+ | 10 ->
+# 17 "lexer.mll"
+ ( LPAREN )
+# 251 "lexer.ml"
+
+ | 11 ->
+# 18 "lexer.mll"
+ ( RPAREN )
+# 256 "lexer.ml"
+
+ | 12 ->
+# 19 "lexer.mll"
+ ( IMPLY )
+# 261 "lexer.ml"
+
+ | 13 ->
+# 20 "lexer.mll"
+ ( FUNC )
+# 266 "lexer.ml"
+
+ | 14 ->
+# 21 "lexer.mll"
+ ( ASSIGN )
+# 271 "lexer.ml"
+
+ | 15 ->
+# 22 "lexer.mll"
+ ( raise Eof )
+# 276 "lexer.ml"
+
+ | __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf;
+ __ocaml_lex_token_rec lexbuf __ocaml_lex_state
+
+;;
+