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 ->
# 72 "sqml/sqml_lexer.mll"
( let s = Lexing.lexeme lexbuf in
try
Hashtbl.find keywords (String.uppercase s)
with Not_found ->
IDENT s )
# 292 "sqml/sqml_lexer.ml"
| 1 ->
# 78 "sqml/sqml_lexer.mll"
( GOTO )
# 297 "sqml/sqml_lexer.ml"
| 2 ->
# 81 "sqml/sqml_lexer.mll"
( COMPARISON `eq )
# 302 "sqml/sqml_lexer.ml"
| 3 ->
# 82 "sqml/sqml_lexer.mll"
( COMPARISON `neq )
# 307 "sqml/sqml_lexer.ml"
| 4 ->
# 83 "sqml/sqml_lexer.mll"
( COMPARISON `lt )
# 312 "sqml/sqml_lexer.ml"
| 5 ->
# 84 "sqml/sqml_lexer.mll"
( COMPARISON `gt )
# 317 "sqml/sqml_lexer.ml"
| 6 ->
# 85 "sqml/sqml_lexer.mll"
( COMPARISON `lte )
# 322 "sqml/sqml_lexer.ml"
| 7 ->
# 86 "sqml/sqml_lexer.mll"
( COMPARISON `gte )
# 327 "sqml/sqml_lexer.ml"
| 8 ->
# 89 "sqml/sqml_lexer.mll"
( MINUS )
# 332 "sqml/sqml_lexer.ml"
| 9 ->
# 90 "sqml/sqml_lexer.mll"
( PLUS )
# 337 "sqml/sqml_lexer.ml"
| 10 ->
# 91 "sqml/sqml_lexer.mll"
( TIMES )
# 342 "sqml/sqml_lexer.ml"
| 11 ->
# 92 "sqml/sqml_lexer.mll"
( DIV )
# 347 "sqml/sqml_lexer.ml"
| 12 ->
# 95 "sqml/sqml_lexer.mll"
( COLON )
# 352 "sqml/sqml_lexer.ml"
| 13 ->
# 96 "sqml/sqml_lexer.mll"
( LPAREN )
# 357 "sqml/sqml_lexer.ml"
| 14 ->
# 97 "sqml/sqml_lexer.mll"
( RPAREN )
# 362 "sqml/sqml_lexer.ml"
| 15 ->
# 98 "sqml/sqml_lexer.mll"
( COMMA )
# 367 "sqml/sqml_lexer.ml"
| 16 ->
# 99 "sqml/sqml_lexer.mll"
( DOT )
# 372 "sqml/sqml_lexer.ml"
| 17 ->
# 100 "sqml/sqml_lexer.mll"
( SEMICOLON )
# 377 "sqml/sqml_lexer.ml"
| 18 ->
# 104 "sqml/sqml_lexer.mll"
( INTNUM (`inttoomuch (Lexing.lexeme lexbuf)) )
# 382 "sqml/sqml_lexer.ml"
| 19 ->
# 106 "sqml/sqml_lexer.mll"
( FLOATNUM (`floattoomuch (Lexing.lexeme lexbuf)) )
# 387 "sqml/sqml_lexer.ml"
| 20 ->
# 110 "sqml/sqml_lexer.mll"
( FLOATNUM (`floattoomuch (Lexing.lexeme lexbuf)) )
# 392 "sqml/sqml_lexer.ml"
| 21 ->
# 114 "sqml/sqml_lexer.mll"
( sqlstring lexbuf;
let s = Buffer.contents !b in
Buffer.reset !b;
STRING s )
# 400 "sqml/sqml_lexer.ml"
| 22 ->
# 120 "sqml/sqml_lexer.mll"
( (err ()) # ack_nl ; token lexbuf )
# 405 "sqml/sqml_lexer.ml"
| 23 ->
# 124 "sqml/sqml_lexer.mll"
( token lexbuf )
# 410 "sqml/sqml_lexer.ml"
| 24 ->
# 127 "sqml/sqml_lexer.mll"
( EOF )
# 415 "sqml/sqml_lexer.ml"
| 25 ->
# 129 "sqml/sqml_lexer.mll"
( (err ())#error "lexical error" )
# 420 "sqml/sqml_lexer.ml"
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_token_rec lexbuf __ocaml_lex_state
and sqlstring lexbuf =
__ocaml_lex_sqlstring_rec lexbuf 39
and __ocaml_lex_sqlstring_rec lexbuf __ocaml_lex_state =
match Lexing.engine __ocaml_lex_tables __ocaml_lex_state lexbuf with
| 0 ->
# 132 "sqml/sqml_lexer.mll"
( Buffer.add_string !b (Lexing.lexeme lexbuf); sqlstring lexbuf )
# 431 "sqml/sqml_lexer.ml"
| 1 ->
# 133 "sqml/sqml_lexer.mll"
( Buffer.add_char !b '\''; sqlstring lexbuf)
# 436 "sqml/sqml_lexer.ml"
| 2 ->
# 134 "sqml/sqml_lexer.mll"
( (err ())#ack_nl; Buffer.add_char !b '\n'; sqlstring lexbuf)
# 441 "sqml/sqml_lexer.ml"
| 3 ->
# 135 "sqml/sqml_lexer.mll"
( () )
# 446 "sqml/sqml_lexer.ml"
| __ocaml_lex_state -> lexbuf.Lexing.refill_buff lexbuf; __ocaml_lex_sqlstring_rec lexbuf __ocaml_lex_state