You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
190 lines
7.8 KiB
190 lines
7.8 KiB
15 years ago
|
# 22 "lexer.mll"
|
||
|
|
||
|
open Parser;;
|
||
|
exception IllegalChar
|
||
|
|
||
|
# 7 "lexer.ml"
|
||
|
let __ocaml_lex_tables = {
|
||
|
Lexing.lex_base =
|
||
|
"\000\000\244\255\255\255\075\000\253\255\036\000\251\255\249\255\
|
||
|
\248\255\247\255\246\255\000\000\243\255\245\255";
|
||
|
Lexing.lex_backtrk =
|
||
|
"\255\255\255\255\255\255\001\000\255\255\003\000\255\255\255\255\
|
||
|
\255\255\255\255\255\255\005\000\255\255\255\255";
|
||
|
Lexing.lex_default =
|
||
|
"\001\000\000\000\000\000\255\255\000\000\255\255\000\000\000\000\
|
||
|
\000\000\000\000\000\000\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\002\000\002\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\007\000\008\000\000\000\006\000\000\000\011\000\000\000\000\000\
|
||
|
\003\000\003\000\003\000\003\000\003\000\003\000\003\000\003\000\
|
||
|
\003\000\003\000\000\000\000\000\000\000\000\000\013\000\000\000\
|
||
|
\000\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\
|
||
|
\004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\
|
||
|
\004\000\004\000\004\000\004\000\004\000\004\000\004\000\004\000\
|
||
|
\004\000\004\000\004\000\009\000\000\000\010\000\000\000\000\000\
|
||
|
\000\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\003\000\003\000\003\000\003\000\003\000\
|
||
|
\003\000\003\000\003\000\003\000\003\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
|
||
|
\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\255\255\000\000\255\255\000\000\255\255\255\255\
|
||
|
\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\011\000\255\255\
|
||
|
\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\000\000\255\255\000\000\255\255\255\255\
|
||
|
\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\003\000\003\000\003\000\003\000\003\000\
|
||
|
\003\000\003\000\003\000\003\000\003\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\000\005\000\
|
||
|
\005\000\005\000\005\000\005\000\005\000\005\000\005\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\
|
||
|
\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\255\255\255\255\
|
||
|
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
|
||
|
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
|
||
|
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
|
||
|
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
|
||
|
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
|
||
|
\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 ->
|
||
|
# 28 "lexer.mll"
|
||
|
(token lexbuf)
|
||
|
# 125 "lexer.ml"
|
||
|
|
||
|
| 1 ->
|
||
|
# 29 "lexer.mll"
|
||
|
( INT(int_of_string(Lexing.lexeme lexbuf)) )
|
||
|
# 130 "lexer.ml"
|
||
|
|
||
|
| 2 ->
|
||
|
# 30 "lexer.mll"
|
||
|
( CAPITAL(Lexing.lexeme lexbuf) )
|
||
|
# 135 "lexer.ml"
|
||
|
|
||
|
| 3 ->
|
||
|
# 31 "lexer.mll"
|
||
|
( MINOR(Lexing.lexeme lexbuf) )
|
||
|
# 140 "lexer.ml"
|
||
|
|
||
|
| 4 ->
|
||
|
# 32 "lexer.mll"
|
||
|
( PLUS )
|
||
|
# 145 "lexer.ml"
|
||
|
|
||
|
| 5 ->
|
||
|
# 33 "lexer.mll"
|
||
|
( MINUS )
|
||
|
# 150 "lexer.ml"
|
||
|
|
||
|
| 6 ->
|
||
|
# 34 "lexer.mll"
|
||
|
( LPAREN )
|
||
|
# 155 "lexer.ml"
|
||
|
|
||
|
| 7 ->
|
||
|
# 35 "lexer.mll"
|
||
|
( RPAREN )
|
||
|
# 160 "lexer.ml"
|
||
|
|
||
|
| 8 ->
|
||
|
# 36 "lexer.mll"
|
||
|
( LBRACKET )
|
||
|
# 165 "lexer.ml"
|
||
|
|
||
|
| 9 ->
|
||
|
# 37 "lexer.mll"
|
||
|
( RBRACKET )
|
||
|
# 170 "lexer.ml"
|
||
|
|
||
|
| 10 ->
|
||
|
# 38 "lexer.mll"
|
||
|
( ARROW )
|
||
|
# 175 "lexer.ml"
|
||
|
|
||
|
| 11 ->
|
||
|
# 39 "lexer.mll"
|
||
|
( raise IllegalChar; )
|
||
|
# 180 "lexer.ml"
|
||
|
|
||
|
| 12 ->
|
||
|
# 40 "lexer.mll"
|
||
|
( EOF )
|
||
|
# 185 "lexer.ml"
|
||
|
|
||
|
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state
|
||
|
|
||
|
;;
|
||
|
|