# 26 "sqml/sqml_lexer.mll"
open Sqml_helper_lp
open Sqml_parser
let keywords = Hashtbl.create 0
let _ =
List.iter (fun (kw, s) -> Hashtbl.add keywords s kw)
[
(ADA, "ADA"); (ALL, "ALL"); (AND, "AND");
(ANY, "ANY"); (AS, "AS"); (ASC, "ASC"); (AUTHORIZATION, "AUTHORIZATION");
(BETWEEN, "BETWEEN"); (BY, "BY"); (C, "C"); (CHECK, "CHECK");
(CLOSE, "CLOSE"); (COBOL, "COBOL"); (COMMIT, "COMMIT"); (CONTINUE, "CONTINUE");
(CREATE, "CREATE"); (CURRENT, "CURRENT"); (CURSOR, "CURSOR"); (DECIMAL, "DECIMAL");
(DECLARE, "DECLARE"); (DEFAULT, "DEFAULT"); (DELETE, "DELETE"); (DESC, "DESC");
(DISTINCT, "DISTINCT"); (DOUBLE, "DOUBLE"); (ESCAPE, "ESCAPE"); (EXISTS, "EXISTS");
(FETCH, "FETCH"); (FLOAT, "FLOAT"); (FOR, "FOR"); (FOREIGN, "FOREIGN");
(FORTRAN, "FORTRAN"); (FOUND, "FOUND"); (FROM, "FROM"); (GRANT, "GRANT");
(GROUP, "GROUP"); (HAVING, "HAVING"); (IN, "IN"); (INDICATOR, "INDICATOR"); (INSERT, "INSERT");
(INTO, "INTO"); (IS, "IS"); (KEY, "KEY"); (LANGUAGE, "LANGUAGE"); (LIKE, "LIKE");
(MODULE, "MODULE"); (NOT, "NOT"); (NULL, "NULL"); (NUMERIC, "NUMERIC"); (OF, "OF");
(ON, "ON"); (OPEN, "OPEN"); (OPTION, "OPTION"); (OR, "OR"); (ORDER, "ORDER"); (OCAML, "OCAML");
(PASCAL, "PASCAL"); (PLI, "PLI"); (PRECISION, "PRECISION"); (PRIMARY, "PRIMARY");
(PRIVILEGES, "PRIVILEGES"); (PROCEDURE, "PROCEDURE"); (PUBLIC, "PUBLIC"); (REAL, "REAL");
(REFERENCES, "REFERENCES"); (ROLLBACK, "ROLLBACK"); (SCHEMA, "SCHEMA"); (SELECT, "SELECT");
(SET, "SET"); (SMALLINT, "SMALLINT"); (SOME, "SOME"); (SQLCODE, "SQLCODE");
(TABLE, "TABLE"); (TO, "TO"); (UNION, "UNION"); (UNIQUE, "UNIQUE");
(UPDATE, "UPDATE"); (USER, "USER"); (VALUES, "VALUES"); (VIEW, "VIEW");
(WHENEVER, "WHENEVER"); (WHERE, "WHERE"); (WITH, "WITH"); (WORK, "WORK");
(CHARACTER, "CHAR"); (CHARACTER, "CHARACTER"); (INTEGER, "INT"); (INTEGER, "INTEGER");
(AVG, "AVG"); (MIN, "MIN"); (MAX, "MAX"); (SUM, "SUM"); (COUNT, "COUNT");
]
let b = ref (Buffer.create 32)
# 42 "sqml/sqml_lexer.ml"
let __ocaml_lex_tables = {
Lexing.lex_base =
"\000\000\230\255\231\255\002\000\233\255\234\255M\000\238\255W\000\240\255\241\255\242\255\243\255\244\255\245\255\246\255\018\000\003\000\030\000\253\255\160\000\235\000]\001s\000\168\001\014\000\254\255\249\255\252\255\248\255\135\000m\000x\0007\001A\001\248\001\002\002\012\002\024\002\140\0007\000\157\000";
Lexing.lex_backtrk =
"\255\255\255\255\255\255\023\000\255\255\255\255\018\000\255\255\016\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\008\000\005\000\004\000\255\255\000\000\000\000\000\000\255\255\000\000\255\255\255\255\255\255\255\255\255\255\023\000\255\255\019\000\020\000\255\255\255\255\019\000\020\000\255\255\255\255\003\000\000\000";
Lexing.lex_default =
"\001\000\000\000\000\000\255\255\000\000\000\000\255\255\000\000\255\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\255\255\255\255\000\000\255\255\255\255\255\255\255\255\255\255\255\255\000\000\000\000\000\000\000\000\030\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255)\000\255\255)\000";
Lexing.lex_trans =
"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\004\000\003\000\000\000\003\000\000\000\003\000\000\000\000\000\000\000\000\000\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\000\000\003\000\000\000\000\000\000\000\000\000\005\000\011\000\n\000\014\000\015\000\t\000\016\000\008\000\013\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\012\000\007\000\018\000\019\000\017\000\030\000\029\000\020\000\020\000\020\000\020\000\020\000\020\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\027\000\028\000\026\000\026\000\000\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000$\000\023\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000 \000 \000 \000 \000 \000 \000 \000 \000 \000 \000\255\255#\000\023\000\000\000\000\000\019\000\000\000\"\000\000\000\"\000\000\000\031\000!\000!\000!\000!\000!\000!\000!\000!\000!\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\031\000\031\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\000\000\000\000\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\020\000\002\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\022\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\023\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000!\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\000\000\000\000\000\000\000\000\255\255\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\255\255\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\024\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\000\000\000\000\000\000\000\000\020\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000&\000\000\000&\000\000\000\000\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000$\000$\000$\000$\000$\000$\000$\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000\000\000\031\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\000\255\255\000\000\255\255\003\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\000\000\255\255\003\000\255\255\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\016\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\018\000\025\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\023\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\008\000\030\000\006\000\023\000\255\255\255\255'\000\255\255\031\000\255\255\031\000\255\255\008\000\031\000\031\000\031\000\031\000\031\000\031\000\031\000\031\000\031\000\031\000)\000 \000 \000 \000 \000 \000 \000 \000 \000 \000 \000\006\000'\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\008\000 \000\255\255\255\255\255\255\255\255\255\255\255\255)\000\255\255\255\255\023\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\255\255\255\255\255\255 \000\255\255\255\255\255\255\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\255\255\255\255\255\255\255\255\020\000\000\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\255\255\255\255\255\255\255\255\021\000\255\255\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\022\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\022\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\030\000\255\255\255\255\255\255\255\255'\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\255\255\255\255\255\255\255\255\255\255\255\255)\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\255\255\255\255\255\255\255\255\022\000\255\255\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\255\255\255\255\255\255\255\255\255\255\255\255\255\255\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\255\255\255\255\255\255\255\255\024\000\255\255\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000#\000\255\255#\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\255\255$\000&\000&\000&\000&\000&\000&\000&\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\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\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 ->
# 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
;;
# 137 "sqml/sqml_lexer.mll"
let token l =
errstart l;
token l
# 458 "sqml/sqml_lexer.ml"