]> git.kianting.info Git - uann/blobdiff - ocaml_yacc/lexer.ml
add ocaml EoC ast viewet
[uann] / ocaml_yacc / lexer.ml
diff --git a/ocaml_yacc/lexer.ml b/ocaml_yacc/lexer.ml
new file mode 100644 (file)
index 0000000..6f9f5bb
--- /dev/null
@@ -0,0 +1,281 @@
+# 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
+
+;;
+