type token =
  | IDENT of ( string )
  | STRING of ( string )
  | INTNUM of ( [`int of int | `inttoomuch of string] )
  | FLOATNUM of ( [`float of int * int * float | `floattoomuch of string] )
  | COMPARISON of ( Sqml_sqlstx.comparison )
  | ALL
  | ANY
  | AS
  | ASC
  | AUTHORIZATION
  | BETWEEN
  | BY
  | CHARACTER
  | CHECK
  | CLOSE
  | COMMIT
  | CONTINUE
  | CREATE
  | CURRENT
  | CURSOR
  | DECIMAL
  | DECLARE
  | DEFAULT
  | DELETE
  | DESC
  | DISTINCT
  | DOUBLE
  | ESCAPE
  | EXISTS
  | FETCH
  | FLOAT
  | FOR
  | FOREIGN
  | FOUND
  | FROM
  | GOTO
  | GRANT
  | GROUP
  | HAVING
  | IN
  | INDICATOR
  | INSERT
  | INTEGER
  | INTO
  | IS
  | KEY
  | LANGUAGE
  | LIKE
  | MODULE
  | NULL
  | NUMERIC
  | OF
  | ON
  | OPEN
  | OPTION
  | ORDER
  | PRECISION
  | PRIMARY
  | PRIVILEGES
  | PROCEDURE
  | PUBLIC
  | REAL
  | REFERENCES
  | ROLLBACK
  | SCHEMA
  | SELECT
  | SET
  | SMALLINT
  | SOME
  | SQLCODE
  | SQLERROR
  | TABLE
  | TO
  | UNION
  | UNIQUE
  | UPDATE
  | USER
  | VALUES
  | VIEW
  | WHENEVER
  | WHERE
  | WITH
  | WORK
  | COBOL
  | FORTRAN
  | PASCAL
  | PLI
  | C
  | ADA
  | OCAML
  | AVG
  | MIN
  | MAX
  | SUM
  | COUNT
  | COLON
  | LPAREN
  | RPAREN
  | COMMA
  | DOT
  | SEMICOLON
  | OR
  | AND
  | NOT
  | PLUS
  | MINUS
  | TIMES
  | DIV
  | EOF

open Parsing;;
# 27 "sqml/sqml_parser.mly"
  open Sqml_sqlstx
  open Sqml_helper_lp
  open Printf
  open Parsing

  let parse_error s = (err ())#error s

  let normal_int = function `int i -> i | _ -> parse_error "absurd integer"

(* #load "parser.cmo" #load "lexer.cmo"; open Parser open Lexer;; *)
# 125 "sqml/sqml_parser.ml"
let yytransl_const = [|
  262 (* ALL *);
  263 (* ANY *);
  264 (* AS *);
  265 (* ASC *);
  266 (* AUTHORIZATION *);
  267 (* BETWEEN *);
  268 (* BY *);
  269 (* CHARACTER *);
  270 (* CHECK *);
  271 (* CLOSE *);
  272 (* COMMIT *);
  273 (* CONTINUE *);
  274 (* CREATE *);
  275 (* CURRENT *);
  276 (* CURSOR *);
  277 (* DECIMAL *);
  278 (* DECLARE *);
  279 (* DEFAULT *);
  280 (* DELETE *);
  281 (* DESC *);
  282 (* DISTINCT *);
  283 (* DOUBLE *);
  284 (* ESCAPE *);
  285 (* EXISTS *);
  286 (* FETCH *);
  287 (* FLOAT *);
  288 (* FOR *);
  289 (* FOREIGN *);
  290 (* FOUND *);
  291 (* FROM *);
  292 (* GOTO *);
  293 (* GRANT *);
  294 (* GROUP *);
  295 (* HAVING *);
  296 (* IN *);
  297 (* INDICATOR *);
  298 (* INSERT *);
  299 (* INTEGER *);
  300 (* INTO *);
  301 (* IS *);
  302 (* KEY *);
  303 (* LANGUAGE *);
  304 (* LIKE *);
  305 (* MODULE *);
  306 (* NULL *);
  307 (* NUMERIC *);
  308 (* OF *);
  309 (* ON *);
  310 (* OPEN *);
  311 (* OPTION *);
  312 (* ORDER *);
  313 (* PRECISION *);
  314 (* PRIMARY *);
  315 (* PRIVILEGES *);
  316 (* PROCEDURE *);
  317 (* PUBLIC *);
  318 (* REAL *);
  319 (* REFERENCES *);
  320 (* ROLLBACK *);
  321 (* SCHEMA *);
  322 (* SELECT *);
  323 (* SET *);
  324 (* SMALLINT *);
  325 (* SOME *);
  326 (* SQLCODE *);
  327 (* SQLERROR *);
  328 (* TABLE *);
  329 (* TO *);
  330 (* UNION *);
  331 (* UNIQUE *);
  332 (* UPDATE *);
  333 (* USER *);
  334 (* VALUES *);
  335 (* VIEW *);
  336 (* WHENEVER *);
  337 (* WHERE *);
  338 (* WITH *);
  339 (* WORK *);
  340 (* COBOL *);
  341 (* FORTRAN *);
  342 (* PASCAL *);
  343 (* PLI *);
  344 (* C *);
  345 (* ADA *);
  346 (* OCAML *);
  347 (* AVG *);
  348 (* MIN *);
  349 (* MAX *);
  350 (* SUM *);
  351 (* COUNT *);
  352 (* COLON *);
  353 (* LPAREN *);
  354 (* RPAREN *);
  355 (* COMMA *);
  356 (* DOT *);
  357 (* SEMICOLON *);
  358 (* OR *);
  359 (* AND *);
  360 (* NOT *);
  361 (* PLUS *);
  362 (* MINUS *);
  363 (* TIMES *);
  364 (* DIV *);
    0 (* EOF *);
    0|]

let yytransl_block = [|
  257 (* IDENT *);
  258 (* STRING *);
  259 (* INTNUM *);
  260 (* FLOATNUM *);
  261 (* COMPARISON *);
    0|]

let yylhs = "\255\255\005\000\001\000\004\000\008\000\008\000\006\000\006\000\006\000\010\000\010\000\009\000\012\000\012\000\013\000\015\000\019\000\019\000\020\000\020\000\021\000\022\000\016\000\016\000\011\000\011\000\011\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\014\000\014\000\025\000\025\000\025\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\027\000\031\000\031\000\031\000\031\000\031\000\031\000\029\000\029\000\017\000\017\000\032\000\032\000\026\000\026\000\018\000\018\000\023\000\023\000\023\000\023\000\023\000\033\000\033\000\033\000\033\000\033\000\033\000\033\000\034\000\034\000\035\000\035\000\036\000\036\000\041\000\041\000\037\000\037\000\038\000\038\000\038\000\038\000\042\000\042\000\039\000\043\000\043\000\043\000\040\000\030\000\002\000\002\000\044\000\046\000\046\000\047\000\047\000\048\000\048\000\003\000\049\000\051\000\051\000\052\000\052\000\053\000\053\000\053\000\003\000\054\000\057\000\057\000\058\000\058\000\061\000\059\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\063\000\063\000\064\000\064\000\064\000\064\000\064\000\064\000\064\000\064\000\064\000\060\000\060\000\060\000\060\000\060\000\065\000\065\000\045\000\045\000\050\000\055\000\066\000\066\000\056\000\069\000\069\000\067\000\067\000\067\000\070\000\070\000\071\000\071\000\071\000\071\000\071\000\068\000\068\000\072\000\072\000\003\000\073\000\074\000\074\000\078\000\075\000\075\000\075\000\075\000\075\000\075\000\075\000\076\000\076\000\079\000\079\000\080\000\081\000\007\000\007\000\082\000\082\000\083\000\083\000\084\000\084\000\084\000\077\000\077\000\085\000\086\000\088\000\088\000\087\000\087\000\090\000\090\000\003\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\089\000\091\000\092\000\093\000\094\000\095\000\096\000\097\000\098\000\099\000\102\000\102\000\103\000\103\000\100\000\101\000\101\000\104\000\003\000\003\000\105\000\105\000\000\000\000\000\000\000\000\000\000\000"

let yylen = "\002\000\001\000\003\000\003\000\001\000\001\000\001\000\003\000\004\000\001\000\003\000\004\000\001\000\001\000\004\000\002\000\001\000\003\000\001\000\003\000\001\000\002\000\000\000\001\000\000\000\001\000\001\000\003\000\003\000\003\000\003\000\002\000\002\000\001\000\001\000\001\000\003\000\001\000\003\000\001\000\001\000\001\000\001\000\005\000\002\000\003\000\004\000\005\000\005\000\004\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\000\000\003\000\001\000\003\000\001\000\003\000\000\000\002\000\003\000\003\000\002\000\003\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\003\000\005\000\006\000\005\000\005\000\004\000\000\000\002\000\004\000\003\000\006\000\005\000\006\000\005\000\001\000\003\000\006\000\001\000\001\000\001\000\004\000\002\000\002\000\003\000\005\000\004\000\001\000\001\000\003\000\001\000\001\000\001\000\005\000\000\000\001\000\001\000\002\000\001\000\001\000\001\000\001\000\006\000\001\000\003\000\001\000\001\000\001\000\003\000\001\000\004\000\001\000\004\000\006\000\001\000\004\000\006\000\001\000\001\000\001\000\004\000\001\000\002\000\000\000\002\000\002\000\003\000\004\000\002\000\002\000\002\000\004\000\002\000\005\000\004\000\005\000\007\000\010\000\004\000\001\000\003\000\000\000\003\000\001\000\007\000\000\000\003\000\007\000\000\000\003\000\002\000\001\000\001\000\001\000\003\000\001\000\001\000\001\000\002\000\002\000\001\000\003\000\001\000\001\000\001\000\008\000\000\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\000\000\001\000\001\000\002\000\006\000\001\000\000\000\003\000\001\000\003\000\002\000\002\000\000\000\001\000\001\000\001\000\002\000\005\000\001\000\001\000\002\000\001\000\002\000\002\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\002\000\002\000\007\000\004\000\004\000\002\000\002\000\006\000\008\000\001\000\003\000\003\000\003\000\005\000\001\000\003\000\001\000\004\000\003\000\002\000\001\000\002\000\002\000\002\000\002\000\002\000"

let yydefred = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\251\000\000\000\009\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\224\000\109\000\118\000\115\000\116\000\117\000\181\000\218\000\219\000\220\000\221\000\222\000\223\000\225\000\226\000\227\000\228\000\229\000\253\000\254\000\000\000\001\000\255\000\025\000\026\000\000\000\000\000\000\000\000\000\000\000\198\000\230\000\231\000\000\000\000\000\000\000\000\000\000\000\000\000\174\000\173\000\000\000\172\000\000\000\000\000\000\000\170\000\000\000\185\000\000\000\184\000\235\000\236\000\000\000\020\000\000\000\000\000\000\000\000\000\004\000\100\000\000\000\000\000\056\000\057\000\041\000\050\000\051\000\052\000\053\000\054\000\000\000\000\000\000\000\000\000\013\000\000\000\000\000\000\000\033\000\034\000\035\000\039\000\040\000\000\000\000\000\010\000\000\000\000\000\007\000\005\000\002\000\000\000\000\000\000\000\000\000\000\000\167\000\000\000\176\000\175\000\000\000\000\000\000\000\000\000\000\000\000\000\250\000\000\000\248\000\000\000\101\000\003\000\000\000\099\000\000\000\031\000\032\000\000\000\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\044\000\000\000\000\000\000\000\000\000\000\000\201\000\008\000\160\000\000\000\000\000\000\000\000\000\233\000\023\000\246\000\000\000\244\000\124\000\156\000\000\000\000\000\171\000\000\000\186\000\187\000\188\000\189\000\190\000\191\000\192\000\000\000\000\000\000\000\000\000\239\000\249\000\247\000\063\000\036\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\029\000\030\000\045\000\000\000\000\000\000\000\000\000\000\000\206\000\207\000\203\000\204\000\000\000\000\000\110\000\000\000\113\000\000\000\000\000\000\000\000\000\000\000\120\000\122\000\123\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\070\000\071\000\072\000\073\000\074\000\075\000\076\000\077\000\000\000\159\000\000\000\000\000\000\000\104\000\102\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\046\000\049\000\202\000\114\000\000\000\000\000\000\000\000\000\119\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\138\000\135\000\140\000\000\000\000\000\000\000\000\000\000\000\068\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\157\000\179\000\180\000\000\000\177\000\000\000\000\000\237\000\242\000\000\000\000\000\240\000\017\000\019\000\000\000\000\000\014\000\043\000\048\000\047\000\000\000\000\000\000\000\000\000\121\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\161\000\232\000\000\000\069\000\000\000\067\000\096\000\095\000\097\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\087\000\000\000\000\000\000\000\164\000\108\000\107\000\000\000\105\000\000\000\000\000\000\000\195\000\000\000\060\000\000\000\000\000\155\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\000\000\098\000\000\000\000\000\000\000\000\000\092\000\000\000\000\000\083\000\000\000\000\000\000\000\086\000\000\000\178\000\103\000\000\000\000\000\000\000\000\000\208\000\196\000\238\000\000\000\000\000\152\000\127\000\132\000\000\000\137\000\129\000\000\000\000\000\146\000\147\000\145\000\000\000\000\000\163\000\079\000\000\000\000\000\089\000\091\000\000\000\085\000\000\000\000\000\000\000\082\000\166\000\106\000\000\000\211\000\000\000\209\000\061\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\094\000\093\000\000\000\088\000\090\000\000\000\217\000\000\000\000\000\214\000\000\000\133\000\130\000\148\000\000\000\144\000\000\000\216\000\000\000\215\000\000\000\150\000\197\000\000\000\212\000\000\000\213\000\154\000"

let yydgoto = "\006\000\009\000\026\000\027\000\047\000\050\000\010\000\057\000\088\000\011\000\012\000\053\000\104\000\147\000\105\000\148\000\169\000\006\001\060\001\196\000\197\000\198\000\170\000\235\000\236\000\107\000\108\000\109\000\110\000\111\000\112\000\113\000\109\001\238\000\239\000\240\000\241\000\242\000\243\000\244\000\245\000\133\001\131\001\087\001\028\000\127\000\252\000\101\001\102\001\029\000\046\001\218\000\219\000\030\000\031\000\032\000\033\000\225\000\226\000\227\000\228\000\175\000\028\001\074\001\123\001\176\000\076\001\072\000\047\001\098\001\073\000\074\000\048\001\034\000\077\000\187\000\104\001\144\001\078\000\105\001\106\001\059\000\161\000\162\000\214\000\145\001\179\001\197\001\212\001\035\000\198\001\036\000\037\000\038\000\039\000\040\000\041\000\042\000\043\000\044\000\045\000\172\000\190\000\191\000\173\000\137\000"

let yysindex = "\102\002\217\254\236\005\236\005\247\254\088\000\000\000\078\255\217\254\000\000\094\255\000\000\000\000\120\255\018\255\191\255\186\255\120\255\227\255\185\255\196\255\120\255\148\255\078\255\235\255\238\254\000\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\197\255\000\000\000\000\000\000\000\000\204\255\024\255\245\255\029\255\021\000\000\000\000\000\000\000\252\255\235\255\235\255\235\255\228\255\205\255\000\000\000\000\177\255\000\000\177\255\229\255\190\255\000\000\235\255\000\000\247\255\000\000\000\000\000\000\204\255\000\000\237\255\037\255\017\000\236\005\000\000\000\000\021\000\213\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\058\000\153\005\153\005\153\005\000\000\029\000\224\255\098\000\000\000\000\000\000\000\000\000\000\000\232\254\230\255\000\000\212\255\217\254\000\000\000\000\000\000\080\000\003\000\177\255\014\000\251\255\000\000\092\000\000\000\000\000\235\255\151\255\177\255\063\000\030\000\092\000\000\000\114\000\000\000\037\255\000\000\000\000\126\000\000\000\036\000\000\000\000\000\235\255\000\000\048\000\153\005\153\005\153\005\153\005\153\005\251\255\138\000\000\000\153\255\213\255\179\255\179\255\057\000\000\000\000\000\000\000\234\255\162\255\150\000\012\005\000\000\000\000\000\000\065\000\000\000\000\000\000\000\126\255\109\000\000\000\080\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\175\000\251\255\184\000\072\255\000\000\000\000\000\000\000\000\000\000\094\000\000\000\187\000\097\005\163\000\098\000\184\255\184\255\000\000\000\000\000\000\108\000\153\005\198\000\115\000\137\000\000\000\000\000\000\000\000\000\212\255\147\255\000\000\234\255\000\000\118\000\173\000\177\000\128\000\218\255\000\000\000\000\000\000\041\004\247\254\178\000\130\000\097\005\097\005\238\255\134\255\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\251\255\000\000\092\000\042\255\152\000\000\000\000\000\080\000\240\254\127\005\055\005\092\000\000\000\235\255\246\000\249\000\219\000\009\001\239\000\169\000\000\000\000\000\000\000\000\000\097\005\171\000\186\000\092\000\000\000\162\255\188\000\189\000\212\000\191\000\000\000\196\000\000\000\000\000\000\000\190\000\120\255\247\254\163\255\027\255\000\000\097\005\097\005\076\005\153\005\199\000\089\255\088\255\252\254\000\000\000\000\000\000\000\000\085\255\000\000\066\255\006\001\000\000\000\000\098\000\237\000\000\000\000\000\000\000\198\000\097\005\000\000\000\000\000\000\000\000\231\255\092\000\092\000\038\000\000\000\036\001\040\001\000\000\042\001\043\001\056\255\033\001\000\000\000\000\207\000\000\000\204\000\000\000\000\000\000\000\000\000\120\005\098\000\211\000\172\255\031\255\025\001\153\005\213\000\089\255\000\000\011\001\019\001\042\255\000\000\000\000\000\000\056\000\000\000\120\255\003\001\006\001\000\000\120\255\000\000\222\000\238\255\000\000\075\000\093\000\000\000\224\000\099\000\229\000\119\000\232\000\028\255\235\255\027\001\000\000\023\001\000\000\240\000\247\254\153\005\241\000\000\000\123\000\089\255\000\000\073\000\031\255\025\001\000\000\030\001\000\000\000\000\066\255\067\001\091\001\003\001\000\000\000\000\000\000\198\000\032\001\000\000\000\000\000\000\090\001\000\000\000\000\094\001\097\005\000\000\000\000\000\000\001\001\160\255\000\000\000\000\002\001\098\000\000\000\000\000\089\255\000\000\153\005\010\001\135\000\000\000\000\000\000\000\077\001\000\000\215\254\000\000\000\000\235\255\012\001\014\001\250\255\092\000\053\001\000\000\000\000\000\000\098\000\000\000\000\000\217\254\000\000\041\004\100\255\000\000\016\001\000\000\000\000\000\000\141\000\000\000\094\255\000\000\213\005\000\000\092\000\000\000\000\000\213\005\000\000\153\000\000\000\000\000"

let yyrindex = "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\004\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\068\001\000\000\000\000\211\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\061\001\000\000\000\000\228\254\000\000\228\254\000\000\063\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\117\002\000\000\000\000\000\000\064\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\154\255\050\255\000\000\000\000\000\000\000\000\000\000\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\121\001\157\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\095\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\194\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\035\003\006\000\006\000\010\000\000\000\000\000\000\000\009\000\000\000\000\000\000\000\000\000\000\000\000\000\235\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\001\000\000\000\000\000\000\000\000\000\000\141\003\000\000\088\003\000\000\022\004\052\255\126\001\229\001\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\003\000\000\104\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\128\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\227\000\000\000\097\001\000\000\180\001\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\013\000\000\000\000\000\070\001\000\000\000\000\192\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\238\002\000\000\000\000\000\000\000\000\000\000\026\002\000\000\000\000\000\000\079\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\073\001\000\000\000\000\000\000\075\004\181\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\079\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\255\220\255\000\000\000\000\000\000\132\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\000\000\000\000\000\185\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\014\255\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000"

let yygindex = "\000\000\000\000\048\002\133\002\000\000\000\000\248\255\211\255\249\255\254\255\024\000\112\002\057\002\141\001\000\000\000\000\159\255\000\000\000\000\000\000\137\001\233\255\000\000\030\255\217\255\244\254\164\255\000\000\158\255\026\001\149\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\001\017\001\000\000\000\000\059\000\000\000\000\000\004\001\000\000\140\255\000\000\000\000\139\255\000\000\000\000\000\000\000\000\128\001\000\000\000\000\146\255\209\000\000\000\000\000\250\254\000\000\000\000\000\000\000\000\000\000\021\002\056\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\049\001\028\000\000\000\195\001\253\001\015\001\000\000\000\000\000\000\235\254\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\230\001\000\000\168\001\181\001\037\002"

let yytablesize = 1852
let yytable = "\054\000\083\000\048\000\089\000\165\000\156\000\205\000\032\001\034\001\111\000\200\000\067\001\162\000\165\000\106\000\112\000\210\000\154\000\182\000\146\000\087\000\087\000\199\000\160\000\189\000\158\000\171\000\007\000\090\001\195\001\091\000\092\000\037\001\091\000\092\000\116\000\199\000\100\001\038\001\121\000\122\000\123\000\106\000\164\000\064\001\065\000\094\001\206\000\220\000\079\000\119\000\200\000\131\000\084\000\135\000\099\000\229\000\007\000\008\000\112\001\113\001\143\000\144\000\145\000\062\000\080\001\081\001\039\001\091\000\092\000\119\001\158\000\155\000\136\000\199\000\040\001\237\000\130\001\158\001\120\001\117\000\136\001\140\000\246\000\051\000\037\000\085\000\038\000\049\000\110\001\171\000\091\000\092\000\002\001\037\000\007\000\038\000\007\000\056\000\091\001\095\001\060\000\013\001\045\001\052\000\159\001\177\000\237\000\093\000\034\000\201\000\202\000\203\000\204\000\205\000\034\000\099\001\009\001\211\000\121\001\170\001\058\000\114\000\130\001\160\000\195\000\008\000\099\000\092\001\100\001\128\000\041\001\150\000\151\000\152\000\153\000\093\001\050\001\044\001\037\001\163\000\237\000\237\000\093\000\034\000\038\001\007\000\189\000\171\000\037\000\055\000\038\000\034\000\000\001\090\000\091\000\092\000\190\001\250\000\208\000\122\001\158\000\099\000\174\000\237\000\229\000\093\000\096\001\056\000\008\001\195\001\001\001\042\000\158\000\039\001\067\000\221\000\251\000\237\000\209\000\203\001\167\000\040\001\149\000\097\001\099\000\213\001\185\001\212\000\012\000\179\000\215\001\149\000\068\000\033\001\222\000\099\000\076\000\012\000\237\000\237\000\207\001\034\000\214\001\213\000\090\000\091\000\092\000\034\000\034\000\034\000\034\000\034\000\158\000\069\000\159\000\053\001\070\000\187\001\062\000\223\000\064\000\108\001\237\000\247\000\248\000\063\000\071\000\029\001\075\000\093\000\080\000\149\000\066\000\142\000\188\001\082\000\224\000\041\001\150\000\151\000\152\000\153\000\142\000\094\000\095\000\096\000\097\000\098\000\099\000\100\000\067\000\217\000\055\000\086\001\088\001\061\000\115\000\101\000\102\000\210\000\079\001\120\000\062\000\125\000\035\001\036\001\149\000\149\000\068\000\063\000\018\000\124\000\149\000\126\000\128\001\099\000\150\000\151\000\152\000\153\000\093\000\129\000\142\000\205\000\078\001\162\000\165\000\200\000\130\000\069\000\152\000\153\000\070\000\132\000\094\000\095\000\096\000\097\000\098\000\099\000\100\000\143\000\071\000\134\000\162\000\165\000\138\000\134\001\101\000\102\000\103\000\181\001\141\000\077\001\142\000\018\001\019\001\142\000\142\000\146\000\237\000\205\000\149\000\142\000\062\000\200\000\157\000\196\001\111\001\188\000\062\000\210\000\035\001\036\001\062\000\062\000\164\000\062\000\126\001\035\001\036\001\062\000\129\001\062\000\166\001\196\001\099\000\202\001\174\000\062\000\168\000\035\001\036\001\161\001\062\000\166\000\062\000\062\000\062\000\062\000\205\000\062\000\205\000\062\000\062\000\111\000\200\000\062\000\162\000\165\000\192\000\112\000\210\000\062\000\182\000\062\000\086\000\118\000\199\000\062\000\165\001\027\000\194\000\062\000\199\000\062\000\142\001\191\001\172\001\195\000\147\001\114\001\248\000\062\000\207\000\062\000\150\000\151\000\152\000\153\000\062\000\062\000\180\000\181\000\182\000\183\000\184\000\185\000\186\000\140\001\141\001\216\000\022\000\230\000\199\001\211\001\055\000\062\000\062\000\246\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\062\000\149\001\248\000\126\000\171\001\042\000\150\000\151\000\152\000\153\000\249\000\042\000\126\000\253\000\205\001\042\000\042\000\255\000\042\000\150\001\248\000\003\001\042\000\004\001\042\000\152\001\153\001\158\000\042\000\005\001\042\000\150\000\151\000\152\000\153\000\042\000\007\001\042\000\042\000\042\000\042\000\010\001\042\000\014\001\042\000\155\001\156\001\015\001\042\000\168\001\169\001\016\001\126\000\017\001\042\000\031\001\042\000\028\000\030\001\126\000\042\000\193\001\169\001\011\001\042\000\042\001\042\000\210\001\248\000\131\000\150\000\151\000\152\000\153\000\042\000\057\001\042\000\049\001\131\000\216\001\248\000\042\000\042\000\125\000\125\000\126\000\059\001\126\000\126\000\058\001\126\000\153\000\153\000\126\000\061\001\063\001\065\001\071\001\042\000\042\000\075\001\042\000\042\000\042\000\042\000\042\000\042\000\042\000\042\000\099\000\078\000\066\001\103\001\069\001\070\001\099\000\072\001\107\001\131\000\099\000\099\000\073\001\099\000\115\001\089\001\131\000\099\000\116\001\099\000\117\001\118\001\124\001\099\000\125\001\099\000\036\001\127\001\132\001\135\001\099\000\138\001\099\000\099\000\099\000\099\000\137\001\099\000\143\001\099\000\148\001\151\001\131\000\099\000\131\000\131\000\154\001\131\000\157\001\099\000\131\000\099\000\162\001\163\001\084\000\099\000\062\001\164\001\167\001\099\000\175\001\099\000\177\001\150\000\151\000\152\000\153\000\178\001\183\001\099\000\182\001\099\000\184\001\186\001\204\001\189\001\099\000\099\000\001\000\002\000\003\000\004\000\005\000\192\001\194\001\200\001\136\000\201\001\209\001\168\000\183\000\169\000\005\000\099\000\099\000\136\000\099\000\099\000\099\000\099\000\099\000\099\000\099\000\099\000\158\000\193\000\027\000\081\000\194\000\139\000\081\000\046\000\027\000\133\000\051\001\056\001\027\000\027\000\174\001\027\000\176\001\160\001\068\001\027\000\206\001\027\000\178\000\173\001\139\001\146\001\012\001\027\000\215\000\208\001\180\001\136\000\027\000\254\000\027\000\027\000\027\000\027\000\136\000\027\000\055\001\027\000\043\001\022\000\022\000\027\000\193\000\000\000\000\000\000\000\000\000\027\000\022\000\027\000\000\000\000\000\080\000\027\000\022\000\000\000\000\000\027\000\000\000\027\000\136\000\128\000\136\000\136\000\000\000\136\000\022\000\027\000\136\000\027\000\128\000\000\000\000\000\000\000\027\000\027\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\022\000\000\000\022\000\027\000\027\000\000\000\027\000\027\000\027\000\027\000\027\000\027\000\022\000\028\000\000\000\000\000\000\000\066\000\000\000\028\000\000\000\000\000\128\000\028\000\028\000\000\000\028\000\000\000\000\000\128\000\028\000\000\000\028\000\000\000\000\000\000\000\000\000\022\000\028\000\000\000\000\000\000\000\000\000\028\000\000\000\028\000\028\000\028\000\028\000\000\000\028\000\000\000\028\000\000\000\000\000\128\000\028\000\128\000\128\000\000\000\128\000\000\000\028\000\128\000\028\000\000\000\000\000\000\000\028\000\000\000\062\000\000\000\028\000\000\000\028\000\000\000\078\000\078\000\000\000\078\000\000\000\000\000\028\000\078\000\028\000\078\000\000\000\000\000\000\000\028\000\028\000\078\000\000\000\000\000\000\000\000\000\000\000\000\000\078\000\078\000\078\000\000\000\000\000\078\000\000\000\000\000\028\000\028\000\000\000\028\000\028\000\028\000\028\000\028\000\028\000\078\000\000\000\078\000\000\000\000\000\000\000\078\000\000\000\018\000\000\000\078\000\000\000\078\000\000\000\084\000\084\000\000\000\084\000\000\000\000\000\078\000\084\000\078\000\084\000\000\000\000\000\000\000\000\000\078\000\084\000\000\000\000\000\000\000\000\000\000\000\000\000\084\000\084\000\084\000\000\000\000\000\084\000\000\000\000\000\078\000\000\000\000\000\078\000\078\000\078\000\000\000\000\000\000\000\084\000\000\000\084\000\000\000\000\000\000\000\084\000\000\000\015\000\000\000\084\000\000\000\084\000\000\000\081\000\081\000\000\000\081\000\000\000\000\000\084\000\081\000\084\000\081\000\000\000\000\000\000\000\000\000\084\000\081\000\000\000\000\000\000\000\000\000\000\000\000\000\081\000\081\000\081\000\000\000\000\000\081\000\000\000\000\000\084\000\000\000\000\000\084\000\084\000\084\000\000\000\000\000\000\000\081\000\000\000\081\000\000\000\000\000\000\000\081\000\000\000\022\000\000\000\081\000\000\000\081\000\000\000\080\000\080\000\000\000\080\000\000\000\000\000\081\000\080\000\081\000\080\000\000\000\000\000\000\000\000\000\081\000\080\000\000\000\000\000\000\000\000\000\000\000\000\000\080\000\080\000\080\000\021\000\000\000\080\000\000\000\000\000\081\000\000\000\000\000\081\000\081\000\081\000\000\000\000\000\000\000\080\000\000\000\080\000\000\000\000\000\000\000\080\000\000\000\000\000\000\000\080\000\000\000\080\000\000\000\066\000\066\000\000\000\066\000\000\000\000\000\080\000\066\000\080\000\066\000\000\000\000\000\000\000\000\000\080\000\066\000\000\000\000\000\000\000\000\000\000\000\000\000\066\000\066\000\066\000\058\000\000\000\066\000\000\000\000\000\080\000\000\000\000\000\080\000\080\000\080\000\000\000\000\000\000\000\066\000\000\000\066\000\000\000\000\000\000\000\066\000\000\000\062\000\000\000\066\000\000\000\066\000\000\000\062\000\062\000\000\000\062\000\000\000\000\000\066\000\062\000\066\000\062\000\062\000\000\000\000\000\000\000\066\000\062\000\000\000\000\000\000\000\000\000\000\000\000\000\062\000\000\000\062\000\059\000\000\000\062\000\000\000\000\000\066\000\000\000\000\000\066\000\066\000\000\000\000\000\000\000\000\000\062\000\000\000\062\000\000\000\000\000\000\000\062\000\000\000\000\000\000\000\062\000\000\000\062\000\000\000\018\000\018\000\000\000\018\000\000\000\000\000\062\000\018\000\062\000\018\000\000\000\000\000\000\000\000\000\062\000\018\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\018\000\018\000\064\000\000\000\018\000\000\000\000\000\062\000\062\000\000\000\062\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\018\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\018\000\000\000\018\000\000\000\015\000\015\000\000\000\015\000\000\000\000\000\018\000\015\000\018\000\015\000\000\000\000\000\000\000\018\000\018\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\015\000\015\000\065\000\000\000\015\000\000\000\000\000\018\000\018\000\000\000\018\000\000\000\000\000\241\000\000\000\000\000\015\000\000\000\015\000\000\000\000\000\000\000\015\000\000\000\000\000\000\000\015\000\000\000\015\000\000\000\022\000\022\000\000\000\022\000\000\000\000\000\015\000\022\000\015\000\022\000\000\000\000\000\000\000\015\000\015\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\022\000\022\000\000\000\234\000\022\000\000\000\000\000\015\000\021\000\021\000\015\000\021\000\000\000\000\000\000\000\021\000\022\000\021\000\022\000\000\000\000\000\000\000\022\000\021\000\000\000\000\000\022\000\000\000\022\000\000\000\021\000\021\000\021\000\000\000\000\000\021\000\022\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\021\000\000\000\021\000\000\000\000\000\000\000\021\000\000\000\000\000\000\000\021\000\000\000\021\000\022\000\058\000\058\000\022\000\058\000\000\000\000\000\021\000\058\000\021\000\058\000\000\000\000\000\000\000\000\000\021\000\058\000\000\000\020\001\000\000\000\000\000\000\000\000\058\000\000\000\058\000\021\001\000\000\058\000\000\000\000\000\021\000\022\001\000\000\021\000\000\000\023\001\000\000\000\000\000\000\058\000\000\000\058\000\000\000\000\000\000\000\058\000\000\000\024\001\000\000\058\000\000\000\058\000\000\000\059\000\059\000\025\001\059\000\000\000\000\000\058\000\059\000\058\000\059\000\000\000\000\000\000\000\026\001\058\000\059\000\000\000\000\000\000\000\027\001\000\000\000\000\059\000\000\000\059\000\000\000\000\000\059\000\000\000\000\000\058\000\000\000\000\000\058\000\000\000\000\000\000\000\000\000\000\000\059\000\000\000\059\000\000\000\000\000\000\000\059\000\000\000\000\000\000\000\059\000\000\000\059\000\000\000\064\000\064\000\000\000\064\000\000\000\000\000\059\000\064\000\059\000\064\000\000\000\000\000\000\000\000\000\059\000\064\000\000\000\000\000\000\000\000\000\000\000\000\000\064\000\000\000\000\000\000\000\000\000\064\000\000\000\000\000\059\000\000\000\000\000\059\000\000\000\000\000\000\000\000\000\000\000\064\000\000\000\064\000\000\000\000\000\000\000\064\000\000\000\000\000\000\000\064\000\000\000\064\000\000\000\065\000\065\000\000\000\065\000\000\000\000\000\064\000\065\000\064\000\065\000\000\000\241\000\241\000\000\000\064\000\065\000\024\000\024\000\024\000\000\000\241\000\000\000\065\000\000\000\000\000\000\000\241\000\065\000\000\000\000\000\064\000\000\000\000\000\064\000\000\000\000\000\000\000\000\000\241\000\065\000\000\000\065\000\000\000\000\000\000\000\065\000\000\000\000\000\000\000\065\000\241\000\065\000\000\000\000\000\234\000\234\000\241\000\000\000\000\000\065\000\241\000\065\000\241\000\234\000\000\000\000\000\000\000\065\000\000\000\234\000\000\000\000\000\241\000\090\000\091\000\092\000\000\000\241\000\000\000\000\000\000\000\234\000\000\000\065\000\000\000\000\000\065\000\000\000\000\000\000\000\000\000\231\000\024\000\234\000\000\000\241\000\000\000\241\000\000\000\234\000\000\000\232\000\000\000\234\000\000\000\234\000\024\000\024\000\024\000\024\000\024\000\024\000\024\000\000\000\000\000\234\000\090\000\091\000\092\000\000\000\024\000\024\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\054\001\000\000\000\000\090\000\091\000\092\000\234\000\000\000\082\001\083\001\232\000\000\000\000\000\000\000\000\000\093\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\090\000\091\000\092\000\000\000\000\000\094\000\095\000\096\000\097\000\098\000\099\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\234\000\101\000\102\000\000\000\000\000\090\000\091\000\092\000\000\000\000\000\232\000\000\000\090\000\091\000\092\000\000\000\093\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\084\001\094\000\095\000\096\000\097\000\098\000\099\000\233\000\093\000\090\000\091\000\092\000\000\000\000\000\234\000\101\000\102\000\000\000\000\000\000\000\000\000\000\000\094\000\095\000\096\000\097\000\098\000\099\000\085\001\093\000\000\000\000\000\052\001\000\000\000\000\000\000\101\000\102\000\000\000\000\000\000\000\007\000\000\000\094\000\095\000\096\000\097\000\098\000\099\000\233\000\000\000\000\000\093\000\000\000\000\000\000\000\234\000\101\000\102\000\093\000\000\000\000\000\000\000\000\000\000\000\000\000\094\000\095\000\096\000\097\000\098\000\099\000\100\000\094\000\095\000\096\000\097\000\098\000\099\000\100\000\101\000\102\000\000\000\013\000\014\000\093\000\000\000\101\000\102\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\017\000\094\000\095\000\096\000\097\000\098\000\099\000\100\000\013\000\014\000\000\000\015\000\019\000\000\000\000\000\101\000\102\000\016\000\000\000\000\000\000\000\000\000\000\000\017\000\021\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\022\000\019\000\023\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\024\000\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\025\000"

let yycheck = "\008\000\024\000\004\000\048\000\120\000\112\000\000\000\233\000\234\000\000\000\000\000\017\001\000\000\000\000\053\000\000\000\000\000\041\001\000\000\035\001\000\000\000\000\000\000\115\000\134\000\053\001\124\000\066\001\040\001\070\001\002\001\003\001\005\001\002\001\003\001\006\001\022\001\049\001\011\001\062\000\063\000\064\000\081\000\001\001\014\001\017\000\050\001\154\000\165\000\021\000\057\000\148\000\075\000\071\001\017\001\096\001\166\000\066\001\097\001\065\001\066\001\100\000\101\000\102\000\000\000\035\001\036\001\040\001\002\001\003\001\014\001\099\001\096\001\036\001\060\001\048\001\168\000\089\001\050\001\023\001\056\000\093\001\089\000\099\001\006\001\035\001\104\001\035\001\000\000\059\001\188\000\002\001\003\001\190\000\044\001\066\001\044\001\066\001\074\001\011\001\104\001\083\001\219\000\061\001\026\001\077\001\129\000\199\000\077\001\005\001\149\000\150\000\151\000\152\000\153\000\011\001\050\001\209\000\157\000\063\001\132\001\001\001\098\001\135\001\216\000\098\001\097\001\096\001\040\001\141\001\071\000\104\001\105\001\106\001\107\001\108\001\048\001\253\000\248\000\005\001\116\000\233\000\234\000\077\001\040\001\011\001\066\001\001\001\246\000\099\001\056\001\099\001\048\001\081\001\001\001\002\001\003\001\169\001\078\001\006\001\104\001\066\001\096\001\001\001\000\001\019\001\077\001\082\001\074\001\208\000\070\001\099\001\000\000\078\001\040\001\024\001\014\001\179\000\014\001\026\001\186\001\122\000\048\001\014\001\099\001\096\001\207\001\157\001\009\001\035\001\131\000\212\001\023\001\042\001\233\000\033\001\096\001\001\001\044\001\035\001\036\001\101\001\098\001\209\001\025\001\001\001\002\001\003\001\104\001\105\001\106\001\107\001\108\001\001\001\063\001\003\001\255\000\066\001\058\001\072\001\058\001\035\001\058\001\059\001\098\001\099\001\079\001\076\001\230\000\044\001\077\001\083\001\063\001\006\001\014\001\075\001\001\001\075\001\104\001\105\001\106\001\107\001\108\001\023\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\024\001\018\001\056\001\037\001\038\001\065\001\012\001\105\001\106\001\107\001\098\001\010\001\072\001\059\001\102\001\103\001\098\001\099\001\042\001\079\001\037\001\044\001\104\001\097\001\103\001\000\000\105\001\106\001\107\001\108\001\077\001\053\001\063\001\022\001\031\001\018\001\018\001\022\001\099\001\063\001\107\001\108\001\066\001\047\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\085\001\076\001\067\001\037\001\037\001\034\001\091\001\105\001\106\001\107\001\148\001\100\001\030\001\001\001\098\001\099\001\098\001\099\001\035\001\157\001\060\001\099\001\104\001\005\001\060\001\097\001\179\001\098\001\044\001\011\001\060\001\102\001\103\001\015\001\016\001\001\001\018\001\085\001\102\001\103\001\022\001\089\001\024\001\128\001\197\001\096\001\098\001\001\001\030\001\081\001\102\001\103\001\121\001\035\001\097\001\037\001\038\001\039\001\040\001\099\001\042\001\101\001\044\001\045\001\101\001\101\001\048\001\101\001\101\001\001\001\101\001\101\001\054\001\101\001\056\001\101\001\101\001\101\001\060\001\127\001\000\000\001\001\064\001\081\001\066\001\103\001\171\001\135\001\098\001\107\001\098\001\099\001\074\001\001\001\076\001\105\001\106\001\107\001\108\001\081\001\082\001\084\001\085\001\086\001\087\001\088\001\089\001\090\001\098\001\099\001\099\001\000\000\008\001\182\001\205\001\097\001\098\001\099\001\099\001\101\001\102\001\103\001\104\001\105\001\106\001\107\001\108\001\098\001\099\001\014\001\103\001\005\001\105\001\106\001\107\001\108\001\073\001\011\001\023\001\010\001\194\001\015\001\016\001\005\001\018\001\098\001\099\001\099\001\022\001\008\001\024\001\098\001\099\001\001\001\028\001\038\001\030\001\105\001\106\001\107\001\108\001\035\001\100\001\037\001\038\001\039\001\040\001\098\001\042\001\097\001\044\001\098\001\099\001\046\001\048\001\098\001\099\001\046\001\063\001\097\001\054\001\097\001\056\001\000\000\052\001\070\001\060\001\098\001\099\001\098\001\064\001\045\001\066\001\098\001\099\001\014\001\105\001\106\001\107\001\108\001\074\001\001\001\076\001\097\001\023\001\098\001\099\001\081\001\082\001\098\001\099\001\096\001\039\001\098\001\099\001\012\001\101\001\098\001\099\001\104\001\001\001\098\001\097\001\057\001\098\001\099\001\082\001\101\001\102\001\103\001\104\001\105\001\106\001\107\001\108\001\005\001\000\000\097\001\022\001\097\001\097\001\011\001\097\001\052\001\063\001\015\001\016\001\097\001\018\001\003\001\097\001\070\001\022\001\003\001\024\001\003\001\003\001\014\001\028\001\098\001\030\001\103\001\097\001\028\001\097\001\035\001\037\001\037\001\038\001\039\001\040\001\050\001\042\001\060\001\044\001\099\001\098\001\096\001\048\001\098\001\099\001\098\001\101\001\097\001\054\001\104\001\056\001\050\001\055\001\000\000\060\001\098\001\098\001\098\001\064\001\055\001\066\001\020\001\105\001\106\001\107\001\108\001\001\001\003\001\074\001\063\001\076\001\003\001\097\001\046\001\098\001\081\001\082\001\001\000\002\000\003\000\004\000\005\000\098\001\032\001\098\001\014\001\098\001\097\001\053\001\047\001\053\001\000\000\098\001\099\001\023\001\101\001\102\001\103\001\104\001\105\001\106\001\107\001\108\001\008\001\060\001\005\001\000\000\060\001\086\000\023\000\003\000\011\001\081\000\254\000\003\001\015\001\016\001\136\001\018\001\141\001\120\001\019\001\022\001\196\001\024\001\130\000\135\001\097\001\105\001\216\000\030\001\160\000\197\001\144\001\063\001\035\001\188\000\037\001\038\001\039\001\040\001\070\001\042\001\001\001\044\001\246\000\015\001\016\001\048\001\138\000\255\255\255\255\255\255\255\255\054\001\024\001\056\001\255\255\255\255\000\000\060\001\030\001\255\255\255\255\064\001\255\255\066\001\096\001\014\001\098\001\099\001\255\255\101\001\042\001\074\001\104\001\076\001\023\001\255\255\255\255\255\255\081\001\082\001\255\255\255\255\054\001\255\255\255\255\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\098\001\099\001\255\255\101\001\102\001\103\001\104\001\105\001\106\001\076\001\005\001\255\255\255\255\255\255\000\000\255\255\011\001\255\255\255\255\063\001\015\001\016\001\255\255\018\001\255\255\255\255\070\001\022\001\255\255\024\001\255\255\255\255\255\255\255\255\101\001\030\001\255\255\255\255\255\255\255\255\035\001\255\255\037\001\038\001\039\001\040\001\255\255\042\001\255\255\044\001\255\255\255\255\096\001\048\001\098\001\099\001\255\255\101\001\255\255\054\001\104\001\056\001\255\255\255\255\255\255\060\001\255\255\000\000\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\081\001\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\255\255\255\255\042\001\255\255\255\255\098\001\099\001\255\255\101\001\102\001\103\001\104\001\105\001\106\001\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\000\000\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\255\255\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\102\001\103\001\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\000\000\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\255\255\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\102\001\103\001\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\000\000\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\000\000\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\102\001\103\001\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\000\000\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\102\001\103\001\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\009\001\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\025\001\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\255\255\039\001\000\000\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\102\001\255\255\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\000\000\255\255\042\001\255\255\255\255\098\001\099\001\255\255\101\001\255\255\255\255\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\081\001\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\000\000\255\255\042\001\255\255\255\255\098\001\099\001\255\255\101\001\255\255\255\255\000\000\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\081\001\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\038\001\039\001\255\255\000\000\042\001\255\255\255\255\098\001\015\001\016\001\101\001\018\001\255\255\255\255\255\255\022\001\054\001\024\001\056\001\255\255\255\255\255\255\060\001\030\001\255\255\255\255\064\001\255\255\066\001\255\255\037\001\038\001\039\001\255\255\255\255\042\001\074\001\255\255\076\001\255\255\255\255\255\255\255\255\255\255\082\001\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\098\001\015\001\016\001\101\001\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\013\001\255\255\255\255\255\255\255\255\037\001\255\255\039\001\021\001\255\255\042\001\255\255\255\255\098\001\027\001\255\255\101\001\255\255\031\001\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\043\001\255\255\064\001\255\255\066\001\255\255\015\001\016\001\051\001\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\062\001\082\001\030\001\255\255\255\255\255\255\068\001\255\255\255\255\037\001\255\255\039\001\255\255\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\255\255\255\255\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\255\255\255\255\255\255\082\001\030\001\255\255\255\255\255\255\255\255\255\255\255\255\037\001\255\255\255\255\255\255\255\255\042\001\255\255\255\255\098\001\255\255\255\255\101\001\255\255\255\255\255\255\255\255\255\255\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\255\255\066\001\255\255\015\001\016\001\255\255\018\001\255\255\255\255\074\001\022\001\076\001\024\001\255\255\015\001\016\001\255\255\082\001\030\001\001\001\002\001\003\001\255\255\024\001\255\255\037\001\255\255\255\255\255\255\030\001\042\001\255\255\255\255\098\001\255\255\255\255\101\001\255\255\255\255\255\255\255\255\042\001\054\001\255\255\056\001\255\255\255\255\255\255\060\001\255\255\255\255\255\255\064\001\054\001\066\001\255\255\255\255\015\001\016\001\060\001\255\255\255\255\074\001\064\001\076\001\066\001\024\001\255\255\255\255\255\255\082\001\255\255\030\001\255\255\255\255\076\001\001\001\002\001\003\001\255\255\081\001\255\255\255\255\255\255\042\001\255\255\098\001\255\255\255\255\101\001\255\255\255\255\255\255\255\255\019\001\077\001\054\001\255\255\099\001\255\255\101\001\255\255\060\001\255\255\029\001\255\255\064\001\255\255\066\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\255\255\255\255\076\001\001\001\002\001\003\001\255\255\105\001\106\001\107\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\019\001\255\255\255\255\001\001\002\001\003\001\101\001\255\255\006\001\007\001\029\001\255\255\255\255\255\255\255\255\077\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\001\001\002\001\003\001\255\255\255\255\091\001\092\001\093\001\094\001\095\001\096\001\097\001\255\255\255\255\255\255\255\255\255\255\255\255\104\001\105\001\106\001\255\255\255\255\001\001\002\001\003\001\255\255\255\255\029\001\255\255\001\001\002\001\003\001\255\255\077\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\069\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\077\001\001\001\002\001\003\001\255\255\255\255\104\001\105\001\106\001\255\255\255\255\255\255\255\255\255\255\091\001\092\001\093\001\094\001\095\001\096\001\097\001\077\001\255\255\255\255\050\001\255\255\255\255\255\255\105\001\106\001\255\255\255\255\255\255\066\001\255\255\091\001\092\001\093\001\094\001\095\001\096\001\097\001\255\255\255\255\077\001\255\255\255\255\255\255\104\001\105\001\106\001\077\001\255\255\255\255\255\255\255\255\255\255\255\255\091\001\092\001\093\001\094\001\095\001\096\001\097\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\105\001\106\001\255\255\015\001\016\001\077\001\255\255\105\001\106\001\255\255\255\255\255\255\024\001\255\255\255\255\255\255\255\255\255\255\030\001\091\001\092\001\093\001\094\001\095\001\096\001\097\001\015\001\016\001\255\255\018\001\042\001\255\255\255\255\105\001\106\001\024\001\255\255\255\255\255\255\255\255\255\255\030\001\054\001\255\255\255\255\255\255\255\255\255\255\037\001\255\255\255\255\255\255\064\001\042\001\066\001\255\255\255\255\255\255\255\255\255\255\049\001\255\255\255\255\255\255\076\001\054\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\064\001\255\255\066\001\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\076\001\255\255\255\255\255\255\080\001"

let yynames_const = "ALL\000ANY\000AS\000ASC\000AUTHORIZATION\000BETWEEN\000BY\000CHARACTER\000CHECK\000CLOSE\000COMMIT\000CONTINUE\000CREATE\000CURRENT\000CURSOR\000DECIMAL\000DECLARE\000DEFAULT\000DELETE\000DESC\000DISTINCT\000DOUBLE\000ESCAPE\000EXISTS\000FETCH\000FLOAT\000FOR\000FOREIGN\000FOUND\000FROM\000GOTO\000GRANT\000GROUP\000HAVING\000IN\000INDICATOR\000INSERT\000INTEGER\000INTO\000IS\000KEY\000LANGUAGE\000LIKE\000MODULE\000NULL\000NUMERIC\000OF\000ON\000OPEN\000OPTION\000ORDER\000PRECISION\000PRIMARY\000PRIVILEGES\000PROCEDURE\000PUBLIC\000REAL\000REFERENCES\000ROLLBACK\000SCHEMA\000SELECT\000SET\000SMALLINT\000SOME\000SQLCODE\000SQLERROR\000TABLE\000TO\000UNION\000UNIQUE\000UPDATE\000USER\000VALUES\000VIEW\000WHENEVER\000WHERE\000WITH\000WORK\000COBOL\000FORTRAN\000PASCAL\000PLI\000C\000ADA\000OCAML\000AVG\000MIN\000MAX\000SUM\000COUNT\000COLON\000LPAREN\000RPAREN\000COMMA\000DOT\000SEMICOLON\000OR\000AND\000NOT\000PLUS\000MINUS\000TIMES\000DIV\000EOF\000"

let yynames_block = "IDENT\000STRING\000INTNUM\000FLOATNUM\000COMPARISON\000"

let yyact = [|
  (fun _ -> failwith "parser")
; (fun __caml_parser_env ->
    Obj.repr(
# 97 "sqml/sqml_parser.mly"
               ( () )
# 1114 "sqml/sqml_parser.ml"
               :  unit ))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'query_exp) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'opt_order_by_clause) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'endsql) in
    Obj.repr(
# 99 "sqml/sqml_parser.mly"
                                                    ( _1, _2 )
# 1123 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.query ))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'select_exp) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'opt_order_by_clause) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'endsql) in
    Obj.repr(
# 101 "sqml/sqml_parser.mly"
                                                         ( _1, _2 )
# 1132 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.select * Sqml_sqlstx.ordering list ))
; (fun __caml_parser_env ->
    Obj.repr(
# 104 "sqml/sqml_parser.mly"
                                                    ( )
# 1138 "sqml/sqml_parser.ml"
               : 'endsql))
; (fun __caml_parser_env ->
    Obj.repr(
# 105 "sqml/sqml_parser.mly"
                                                    ( )
# 1144 "sqml/sqml_parser.ml"
               : 'endsql))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'query_term) in
    Obj.repr(
# 112 "sqml/sqml_parser.mly"
                                      ( _1 )
# 1151 "sqml/sqml_parser.ml"
               : 'query_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'query_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'query_term) in
    Obj.repr(
# 113 "sqml/sqml_parser.mly"
                                       ( `union (_1, _3) )
# 1159 "sqml/sqml_parser.ml"
               : 'query_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'query_exp) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'query_term) in
    Obj.repr(
# 114 "sqml/sqml_parser.mly"
                                       ( `unionall (_1, _4) )
# 1167 "sqml/sqml_parser.ml"
               : 'query_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'select_exp) in
    Obj.repr(
# 118 "sqml/sqml_parser.mly"
                                      ( `select _1 )
# 1174 "sqml/sqml_parser.ml"
               : 'query_term))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'query_exp) in
    Obj.repr(
# 119 "sqml/sqml_parser.mly"
                                       ( _2 )
# 1181 "sqml/sqml_parser.ml"
               : 'query_term))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 2 : 'opt_all_distinct) in
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'selection) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'table_exp) in
    Obj.repr(
# 123 "sqml/sqml_parser.mly"
                                                 ( let a, b, c, d = _4 in _2, _3, a, b, c, d )
# 1190 "sqml/sqml_parser.ml"
               : 'select_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'rev_scalar_exp_commalist) in
    Obj.repr(
# 127 "sqml/sqml_parser.mly"
                                          ( `list (List.rev _1) )
# 1197 "sqml/sqml_parser.ml"
               : 'selection))
; (fun __caml_parser_env ->
    Obj.repr(
# 128 "sqml/sqml_parser.mly"
                                       ( `star )
# 1203 "sqml/sqml_parser.ml"
               : 'selection))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'from_clause) in
    let _2 = (Parsing.peek_val __caml_parser_env 2 : 'opt_where_clause) in
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'opt_group_by_clause) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'opt_having_clause) in
    Obj.repr(
# 136 "sqml/sqml_parser.mly"
                                                       ( _1, _2, _3, _4 )
# 1213 "sqml/sqml_parser.ml"
               : 'table_exp))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'rev_table_ref_commalist) in
    Obj.repr(
# 140 "sqml/sqml_parser.mly"
                                          ( List.rev _2 )
# 1220 "sqml/sqml_parser.ml"
               : 'from_clause))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'table_ref) in
    Obj.repr(
# 144 "sqml/sqml_parser.mly"
                                      ( [_1] )
# 1227 "sqml/sqml_parser.ml"
               : 'rev_table_ref_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'rev_table_ref_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'table_ref) in
    Obj.repr(
# 145 "sqml/sqml_parser.mly"
                                           ( _3 :: _1 )
# 1235 "sqml/sqml_parser.ml"
               : 'rev_table_ref_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'table) in
    Obj.repr(
# 149 "sqml/sqml_parser.mly"
                                      ( `table _1 )
# 1242 "sqml/sqml_parser.ml"
               : 'table_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'table) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 150 "sqml/sqml_parser.mly"
                                        ( `tableas (_1, _3) )
# 1250 "sqml/sqml_parser.ml"
               : 'table_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 154 "sqml/sqml_parser.mly"
                                       ( _1 )
# 1257 "sqml/sqml_parser.ml"
               : 'table))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'search_condition) in
    Obj.repr(
# 159 "sqml/sqml_parser.mly"
                                      ( _2 )
# 1264 "sqml/sqml_parser.ml"
               : 'where_clause))
; (fun __caml_parser_env ->
    Obj.repr(
# 163 "sqml/sqml_parser.mly"
                                      ( None )
# 1270 "sqml/sqml_parser.ml"
               : 'opt_where_clause))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'where_clause) in
    Obj.repr(
# 164 "sqml/sqml_parser.mly"
                                       ( Some _1 )
# 1277 "sqml/sqml_parser.ml"
               : 'opt_where_clause))
; (fun __caml_parser_env ->
    Obj.repr(
# 168 "sqml/sqml_parser.mly"
                                      ( `nomod )
# 1283 "sqml/sqml_parser.ml"
               : 'opt_all_distinct))
; (fun __caml_parser_env ->
    Obj.repr(
# 169 "sqml/sqml_parser.mly"
                                       ( `all )
# 1289 "sqml/sqml_parser.ml"
               : 'opt_all_distinct))
; (fun __caml_parser_env ->
    Obj.repr(
# 170 "sqml/sqml_parser.mly"
                                       ( `distinct )
# 1295 "sqml/sqml_parser.ml"
               : 'opt_all_distinct))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 176 "sqml/sqml_parser.mly"
                                        ( `binop (`plus, _1, _3) )
# 1303 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 177 "sqml/sqml_parser.mly"
                                         ( `binop (`minus, _1, _3) )
# 1311 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 178 "sqml/sqml_parser.mly"
                                         ( `binop (`times, _1, _3) )
# 1319 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 179 "sqml/sqml_parser.mly"
                                         ( `binop (`div, _1, _3) )
# 1327 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 180 "sqml/sqml_parser.mly"
                                         ( _2 )
# 1334 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 181 "sqml/sqml_parser.mly"
                                         ( `uminus _2 )
# 1341 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'atom) in
    Obj.repr(
# 182 "sqml/sqml_parser.mly"
                                         ( `atom _1 )
# 1348 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'column_ref) in
    Obj.repr(
# 183 "sqml/sqml_parser.mly"
                                         ( `column _1 )
# 1355 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'function_ref) in
    Obj.repr(
# 184 "sqml/sqml_parser.mly"
                                         ( `functioncall _1 )
# 1362 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'scalar_exp) in
    Obj.repr(
# 185 "sqml/sqml_parser.mly"
                                         ( _2 )
# 1369 "sqml/sqml_parser.ml"
               : 'scalar_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 189 "sqml/sqml_parser.mly"
                                        ( [_1] )
# 1376 "sqml/sqml_parser.ml"
               : 'rev_scalar_exp_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'rev_scalar_exp_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 190 "sqml/sqml_parser.mly"
                                             ( _3 :: _1 )
# 1384 "sqml/sqml_parser.ml"
               : 'rev_scalar_exp_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'parameter_ref) in
    Obj.repr(
# 194 "sqml/sqml_parser.mly"
                                        ( `parameter _1 )
# 1391 "sqml/sqml_parser.ml"
               : 'atom))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'literal) in
    Obj.repr(
# 195 "sqml/sqml_parser.mly"
                                         ( (_1 :> atom) )
# 1398 "sqml/sqml_parser.ml"
               : 'atom))
; (fun __caml_parser_env ->
    Obj.repr(
# 196 "sqml/sqml_parser.mly"
                                         ( `user )
# 1404 "sqml/sqml_parser.ml"
               : 'atom))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'parameter) in
    Obj.repr(
# 200 "sqml/sqml_parser.mly"
                                        ( `single _1 )
# 1411 "sqml/sqml_parser.ml"
               : 'parameter_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'parameter) in
    let _3 = (Parsing.peek_val __caml_parser_env 2 :  string ) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 201 "sqml/sqml_parser.mly"
                                               ( `single_annotated (_1, _3, _5) )
# 1420 "sqml/sqml_parser.ml"
               : 'parameter_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'parameter) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'parameter) in
    Obj.repr(
# 202 "sqml/sqml_parser.mly"
                                         ( `couple (_1, _2) )
# 1428 "sqml/sqml_parser.ml"
               : 'parameter_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'parameter) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'parameter) in
    Obj.repr(
# 203 "sqml/sqml_parser.mly"
                                         ( `indicator (_1, _3) )
# 1436 "sqml/sqml_parser.ml"
               : 'parameter_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'ammsc) in
    Obj.repr(
# 207 "sqml/sqml_parser.mly"
                                            ( _1, `star )
# 1443 "sqml/sqml_parser.ml"
               : 'function_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'ammsc) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'column_ref) in
    Obj.repr(
# 208 "sqml/sqml_parser.mly"
                                             ( _1, `distinct _4 )
# 1451 "sqml/sqml_parser.ml"
               : 'function_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'ammsc) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'scalar_exp) in
    Obj.repr(
# 209 "sqml/sqml_parser.mly"
                                             ( _1, `exp (`all, _4) )
# 1459 "sqml/sqml_parser.ml"
               : 'function_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'ammsc) in
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'scalar_exp) in
    Obj.repr(
# 210 "sqml/sqml_parser.mly"
                                             ( _1, `exp (`nomod, _3) )
# 1467 "sqml/sqml_parser.ml"
               : 'function_ref))
; (fun __caml_parser_env ->
    Obj.repr(
# 214 "sqml/sqml_parser.mly"
                       ( `avg )
# 1473 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    Obj.repr(
# 215 "sqml/sqml_parser.mly"
                ( `min )
# 1479 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    Obj.repr(
# 216 "sqml/sqml_parser.mly"
                ( `max )
# 1485 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    Obj.repr(
# 217 "sqml/sqml_parser.mly"
                ( `sum )
# 1491 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    Obj.repr(
# 218 "sqml/sqml_parser.mly"
                ( `count )
# 1497 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 219 "sqml/sqml_parser.mly"
                ( `other _1 )
# 1504 "sqml/sqml_parser.ml"
               : 'ammsc))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 222 "sqml/sqml_parser.mly"
                  ( `string _1 )
# 1511 "sqml/sqml_parser.ml"
               : 'literal))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 223 "sqml/sqml_parser.mly"
                   ( _1 :> literal )
# 1518 "sqml/sqml_parser.ml"
               : 'literal))
; (fun __caml_parser_env ->
    Obj.repr(
# 228 "sqml/sqml_parser.mly"
                                   ( None )
# 1524 "sqml/sqml_parser.ml"
               : 'opt_group_by_clause))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'rev_column_ref_commalist) in
    Obj.repr(
# 229 "sqml/sqml_parser.mly"
                                        ( Some (List.rev _3) )
# 1531 "sqml/sqml_parser.ml"
               : 'opt_group_by_clause))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'column_ref) in
    Obj.repr(
# 233 "sqml/sqml_parser.mly"
                                         ( [_1] )
# 1538 "sqml/sqml_parser.ml"
               : 'rev_column_ref_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'rev_column_ref_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'column_ref) in
    Obj.repr(
# 234 "sqml/sqml_parser.mly"
                                              ( _3 :: _1 )
# 1546 "sqml/sqml_parser.ml"
               : 'rev_column_ref_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 238 "sqml/sqml_parser.mly"
                      ( `ref _1 )
# 1553 "sqml/sqml_parser.ml"
               : 'column_ref))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 :  string ) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 239 "sqml/sqml_parser.mly"
                      ( `refdotref (_1, _3) )
# 1561 "sqml/sqml_parser.ml"
               : 'column_ref))
; (fun __caml_parser_env ->
    Obj.repr(
# 245 "sqml/sqml_parser.mly"
                            ( None )
# 1567 "sqml/sqml_parser.ml"
               : 'opt_having_clause))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'search_condition) in
    Obj.repr(
# 246 "sqml/sqml_parser.mly"
                             ( Some _2 )
# 1574 "sqml/sqml_parser.ml"
               : 'opt_having_clause))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'search_condition) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'search_condition) in
    Obj.repr(
# 253 "sqml/sqml_parser.mly"
                                          ( `cor (_1, _3) )
# 1582 "sqml/sqml_parser.ml"
               : 'search_condition))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'search_condition) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'search_condition) in
    Obj.repr(
# 254 "sqml/sqml_parser.mly"
                                          ( `cand (_1, _3) )
# 1590 "sqml/sqml_parser.ml"
               : 'search_condition))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'search_condition) in
    Obj.repr(
# 255 "sqml/sqml_parser.mly"
                                          ( `cnot _2 )
# 1597 "sqml/sqml_parser.ml"
               : 'search_condition))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'search_condition) in
    Obj.repr(
# 256 "sqml/sqml_parser.mly"
                                          ( _2 )
# 1604 "sqml/sqml_parser.ml"
               : 'search_condition))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'predicate) in
    Obj.repr(
# 257 "sqml/sqml_parser.mly"
                                          ( `p _1 )
# 1611 "sqml/sqml_parser.ml"
               : 'search_condition))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'comparison_predicate) in
    Obj.repr(
# 261 "sqml/sqml_parser.mly"
                                         ( _1 )
# 1618 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'between_predicate) in
    Obj.repr(
# 262 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1625 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'like_predicate) in
    Obj.repr(
# 263 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1632 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'test_for_null) in
    Obj.repr(
# 264 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1639 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'in_predicate) in
    Obj.repr(
# 265 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1646 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'all_or_any_predicate) in
    Obj.repr(
# 266 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1653 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'existence_test) in
    Obj.repr(
# 267 "sqml/sqml_parser.mly"
                                          ( _1 )
# 1660 "sqml/sqml_parser.ml"
               : 'predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 :  Sqml_sqlstx.comparison ) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 271 "sqml/sqml_parser.mly"
                                                         ( `comparisonexp (_1, _2, _3) )
# 1669 "sqml/sqml_parser.ml"
               : 'comparison_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'scalar_exp) in
    let _2 = (Parsing.peek_val __caml_parser_env 3 :  Sqml_sqlstx.comparison ) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    Obj.repr(
# 272 "sqml/sqml_parser.mly"
                                                              ( `comparisonselect (_1, _2, _4) )
# 1678 "sqml/sqml_parser.ml"
               : 'comparison_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 5 : 'scalar_exp) in
    let _4 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _6 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 276 "sqml/sqml_parser.mly"
                                                         ( `between (true, _1, _4, _6) )
# 1687 "sqml/sqml_parser.ml"
               : 'between_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 2 : 'scalar_exp) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 277 "sqml/sqml_parser.mly"
                                                          ( `between (false, _1, _3, _5) )
# 1696 "sqml/sqml_parser.ml"
               : 'between_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'scalar_exp) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'atom) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'opt_escape) in
    Obj.repr(
# 281 "sqml/sqml_parser.mly"
                                                         ( `like (true, _1, _4, _5) )
# 1705 "sqml/sqml_parser.ml"
               : 'like_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'scalar_exp) in
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'atom) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'opt_escape) in
    Obj.repr(
# 282 "sqml/sqml_parser.mly"
                                                          ( `like (false, _1, _3, _4) )
# 1714 "sqml/sqml_parser.ml"
               : 'like_predicate))
; (fun __caml_parser_env ->
    Obj.repr(
# 286 "sqml/sqml_parser.mly"
                                                         ( None )
# 1720 "sqml/sqml_parser.ml"
               : 'opt_escape))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'atom) in
    Obj.repr(
# 287 "sqml/sqml_parser.mly"
                                                          ( Some _2 )
# 1727 "sqml/sqml_parser.ml"
               : 'opt_escape))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 3 : 'column_ref) in
    Obj.repr(
# 291 "sqml/sqml_parser.mly"
                                                         ( `iscolnull (true, _1) )
# 1734 "sqml/sqml_parser.ml"
               : 'test_for_null))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'column_ref) in
    Obj.repr(
# 292 "sqml/sqml_parser.mly"
                                                          ( `iscolnull (false, _1) )
# 1741 "sqml/sqml_parser.ml"
               : 'test_for_null))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 5 : 'scalar_exp) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    Obj.repr(
# 296 "sqml/sqml_parser.mly"
                                                             ( `in_select (true, _1, _5) )
# 1749 "sqml/sqml_parser.ml"
               : 'in_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'scalar_exp) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    Obj.repr(
# 297 "sqml/sqml_parser.mly"
                                                              ( `in_select (false, _1, _4) )
# 1757 "sqml/sqml_parser.ml"
               : 'in_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 5 : 'scalar_exp) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'rev_atom_commalist) in
    Obj.repr(
# 298 "sqml/sqml_parser.mly"
                                                          ( `in_atom_list (true, _1, List.rev _5) )
# 1765 "sqml/sqml_parser.ml"
               : 'in_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 4 : 'scalar_exp) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'rev_atom_commalist) in
    Obj.repr(
# 299 "sqml/sqml_parser.mly"
                                                          ( `in_atom_list (false, _1, List.rev _4) )
# 1773 "sqml/sqml_parser.ml"
               : 'in_predicate))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'atom) in
    Obj.repr(
# 303 "sqml/sqml_parser.mly"
                                                         ( [_1] )
# 1780 "sqml/sqml_parser.ml"
               : 'rev_atom_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'rev_atom_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'atom) in
    Obj.repr(
# 304 "sqml/sqml_parser.mly"
                                                          ( _3 :: _1 )
# 1788 "sqml/sqml_parser.ml"
               : 'rev_atom_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 5 : 'scalar_exp) in
    let _2 = (Parsing.peek_val __caml_parser_env 4 :  Sqml_sqlstx.comparison ) in
    let _3 = (Parsing.peek_val __caml_parser_env 3 : 'any_all_some) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    Obj.repr(
# 308 "sqml/sqml_parser.mly"
                                                              ( `allorany (_1, _2, _3, _5) )
# 1798 "sqml/sqml_parser.ml"
               : 'all_or_any_predicate))
; (fun __caml_parser_env ->
    Obj.repr(
# 312 "sqml/sqml_parser.mly"
              ( `some )
# 1804 "sqml/sqml_parser.ml"
               : 'any_all_some))
; (fun __caml_parser_env ->
    Obj.repr(
# 313 "sqml/sqml_parser.mly"
               ( `all )
# 1810 "sqml/sqml_parser.ml"
               : 'any_all_some))
; (fun __caml_parser_env ->
    Obj.repr(
# 314 "sqml/sqml_parser.mly"
               ( `some )
# 1816 "sqml/sqml_parser.ml"
               : 'any_all_some))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    Obj.repr(
# 318 "sqml/sqml_parser.mly"
                                                           ( `exists _3 )
# 1823 "sqml/sqml_parser.ml"
               : 'existence_test))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 322 "sqml/sqml_parser.mly"
                                                           ( _2 )
# 1830 "sqml/sqml_parser.ml"
               : 'parameter))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 :  Sqml_sqlstx.cmd ) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'endsql) in
    Obj.repr(
# 328 "sqml/sqml_parser.mly"
                                  ( [_1] )
# 1838 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd list ))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 :  Sqml_sqlstx.cmd ) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 :  Sqml_sqlstx.cmd list ) in
    Obj.repr(
# 329 "sqml/sqml_parser.mly"
                                   ( _1 :: _3 )
# 1846 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd list ))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 2 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'opt_column_commalist) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'values_or_select_exp) in
    Obj.repr(
# 334 "sqml/sqml_parser.mly"
                                                                  ( _3, _4, _5 )
# 1855 "sqml/sqml_parser.ml"
               : 'insert_statement))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'rev_insert_atom_commalist) in
    Obj.repr(
# 338 "sqml/sqml_parser.mly"
                                                                  ( `values (List.rev _3) )
# 1862 "sqml/sqml_parser.ml"
               : 'values_or_select_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'select_exp) in
    Obj.repr(
# 339 "sqml/sqml_parser.mly"
                                                                   ( `select _1 )
# 1869 "sqml/sqml_parser.ml"
               : 'values_or_select_exp))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'insert_atom) in
    Obj.repr(
# 343 "sqml/sqml_parser.mly"
                                                                  ( [ _1 ] )
# 1876 "sqml/sqml_parser.ml"
               : 'rev_insert_atom_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'rev_insert_atom_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'insert_atom) in
    Obj.repr(
# 344 "sqml/sqml_parser.mly"
                                                                   ( _3 :: _1 )
# 1884 "sqml/sqml_parser.ml"
               : 'rev_insert_atom_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'atom) in
    Obj.repr(
# 348 "sqml/sqml_parser.mly"
                                                                  ( `atom _1 )
# 1891 "sqml/sqml_parser.ml"
               : 'insert_atom))
; (fun __caml_parser_env ->
    Obj.repr(
# 349 "sqml/sqml_parser.mly"
                                                                   ( `null )
# 1897 "sqml/sqml_parser.ml"
               : 'insert_atom))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'schema) in
    Obj.repr(
# 355 "sqml/sqml_parser.mly"
             ( `schemadef _1 )
# 1904 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'user) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'opt_schema_element_list) in
    Obj.repr(
# 360 "sqml/sqml_parser.mly"
                                                           ( _4, _5 )
# 1912 "sqml/sqml_parser.ml"
               : 'schema))
; (fun __caml_parser_env ->
    Obj.repr(
# 364 "sqml/sqml_parser.mly"
              ( [] )
# 1918 "sqml/sqml_parser.ml"
               : 'opt_schema_element_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'rev_schema_element_list) in
    Obj.repr(
# 365 "sqml/sqml_parser.mly"
                           ( List.rev _1 )
# 1925 "sqml/sqml_parser.ml"
               : 'opt_schema_element_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'schema_element) in
    Obj.repr(
# 369 "sqml/sqml_parser.mly"
                                         ( [ _1 ] )
# 1932 "sqml/sqml_parser.ml"
               : 'rev_schema_element_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'rev_schema_element_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'schema_element) in
    Obj.repr(
# 370 "sqml/sqml_parser.mly"
                                          ( _2 :: _1 )
# 1940 "sqml/sqml_parser.ml"
               : 'rev_schema_element_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'base_table_def) in
    Obj.repr(
# 374 "sqml/sqml_parser.mly"
                        ( `tabledef _1 )
# 1947 "sqml/sqml_parser.ml"
               : 'schema_element))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'view_def) in
    Obj.repr(
# 375 "sqml/sqml_parser.mly"
                         ( `viewdef _1 )
# 1954 "sqml/sqml_parser.ml"
               : 'schema_element))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'privilege_def) in
    Obj.repr(
# 376 "sqml/sqml_parser.mly"
                         ( `privdef _1 )
# 1961 "sqml/sqml_parser.ml"
               : 'schema_element))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'schema_element) in
    Obj.repr(
# 379 "sqml/sqml_parser.mly"
                               ( _1 :> cmd )
# 1968 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 3 : 'table) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'base_table_element_commalist) in
    Obj.repr(
# 383 "sqml/sqml_parser.mly"
                                                                ( _3, _5 )
# 1976 "sqml/sqml_parser.ml"
               : 'base_table_def))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'base_table_element) in
    Obj.repr(
# 387 "sqml/sqml_parser.mly"
                     ( [ _1 ] )
# 1983 "sqml/sqml_parser.ml"
               : 'base_table_element_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'base_table_element_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'base_table_element) in
    Obj.repr(
# 388 "sqml/sqml_parser.mly"
                                                         ( _1 @ [ _3 ] )
# 1991 "sqml/sqml_parser.ml"
               : 'base_table_element_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'column_def) in
    Obj.repr(
# 392 "sqml/sqml_parser.mly"
                            ( `columndef _1 )
# 1998 "sqml/sqml_parser.ml"
               : 'base_table_element))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'table_constraint_def) in
    Obj.repr(
# 393 "sqml/sqml_parser.mly"
                             ( `tblcnstr _1 )
# 2005 "sqml/sqml_parser.ml"
               : 'base_table_element))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 396 "sqml/sqml_parser.mly"
               ( _1 )
# 2012 "sqml/sqml_parser.ml"
               : 'column))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'column) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'data_type) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'column_def_opt_list) in
    Obj.repr(
# 400 "sqml/sqml_parser.mly"
                                       ( _1, _2, _3 )
# 2021 "sqml/sqml_parser.ml"
               : 'column_def))
; (fun __caml_parser_env ->
    Obj.repr(
# 405 "sqml/sqml_parser.mly"
                                                              ( `char None)
# 2027 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 406 "sqml/sqml_parser.mly"
                                                               ( `char (Some (normal_int _3)) )
# 2034 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 407 "sqml/sqml_parser.mly"
                                                               ( `numeric `default )
# 2040 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 408 "sqml/sqml_parser.mly"
                                                               ( `numeric (`length (normal_int _3)) )
# 2047 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 3 :  [`int of int | `inttoomuch of string] ) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 409 "sqml/sqml_parser.mly"
                                                               ( `numeric (`lengthdec (normal_int _3, normal_int _5)) )
# 2055 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 410 "sqml/sqml_parser.mly"
                                                               ( `decimal `default )
# 2061 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 411 "sqml/sqml_parser.mly"
                                                               ( `decimal (`length (normal_int _3)) )
# 2068 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 3 :  [`int of int | `inttoomuch of string] ) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 412 "sqml/sqml_parser.mly"
                                                               ( `decimal (`lengthdec (normal_int _3, normal_int _5)) )
# 2076 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 413 "sqml/sqml_parser.mly"
                                                               ( `int )
# 2082 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 414 "sqml/sqml_parser.mly"
                                                               ( `smallint )
# 2088 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 415 "sqml/sqml_parser.mly"
                                                               ( `float None )
# 2094 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    Obj.repr(
# 416 "sqml/sqml_parser.mly"
                                                               ( `float (Some (normal_int _3)) )
# 2101 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 417 "sqml/sqml_parser.mly"
                                                               ( `real )
# 2107 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 418 "sqml/sqml_parser.mly"
                                                               ( `doubleprecision )
# 2113 "sqml/sqml_parser.ml"
               : 'data_type))
; (fun __caml_parser_env ->
    Obj.repr(
# 422 "sqml/sqml_parser.mly"
              ( [] )
# 2119 "sqml/sqml_parser.ml"
               : 'column_def_opt_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'column_def_opt_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'column_def_opt) in
    Obj.repr(
# 423 "sqml/sqml_parser.mly"
                                      ( _1 @ [_2] )
# 2127 "sqml/sqml_parser.ml"
               : 'column_def_opt_list))
; (fun __caml_parser_env ->
    Obj.repr(
# 427 "sqml/sqml_parser.mly"
                                                              ( `not_null )
# 2133 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    Obj.repr(
# 428 "sqml/sqml_parser.mly"
                                                               ( `not_null_unique )
# 2139 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    Obj.repr(
# 429 "sqml/sqml_parser.mly"
                                                               ( `not_null_primary_key )
# 2145 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'literal) in
    Obj.repr(
# 430 "sqml/sqml_parser.mly"
                                                               ( `default _2 )
# 2152 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    Obj.repr(
# 431 "sqml/sqml_parser.mly"
                                                               ( `default_null )
# 2158 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    Obj.repr(
# 432 "sqml/sqml_parser.mly"
                                                               ( `default_user )
# 2164 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'search_condition) in
    Obj.repr(
# 433 "sqml/sqml_parser.mly"
                                                               ( `check _3 )
# 2171 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'table) in
    Obj.repr(
# 434 "sqml/sqml_parser.mly"
                                                               ( `references (_2, []) )
# 2178 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 3 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'column_commalist) in
    Obj.repr(
# 435 "sqml/sqml_parser.mly"
                                                               ( `references (_2, _4) )
# 2186 "sqml/sqml_parser.ml"
               : 'column_def_opt))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'column_commalist) in
    Obj.repr(
# 439 "sqml/sqml_parser.mly"
                                                              ( `unique _3 )
# 2193 "sqml/sqml_parser.ml"
               : 'table_constraint_def))
; (fun __caml_parser_env ->
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'column_commalist) in
    Obj.repr(
# 440 "sqml/sqml_parser.mly"
                                                               ( `primkey _4 )
# 2200 "sqml/sqml_parser.ml"
               : 'table_constraint_def))
; (fun __caml_parser_env ->
    let _4 = (Parsing.peek_val __caml_parser_env 3 : 'column_commalist) in
    let _7 = (Parsing.peek_val __caml_parser_env 0 : 'table) in
    Obj.repr(
# 442 "sqml/sqml_parser.mly"
                                                       ( `foreignkey (_4, _7, []) )
# 2208 "sqml/sqml_parser.ml"
               : 'table_constraint_def))
; (fun __caml_parser_env ->
    let _4 = (Parsing.peek_val __caml_parser_env 6 : 'column_commalist) in
    let _7 = (Parsing.peek_val __caml_parser_env 3 : 'table) in
    let _9 = (Parsing.peek_val __caml_parser_env 1 : 'column_commalist) in
    Obj.repr(
# 444 "sqml/sqml_parser.mly"
                                                       ( `foreignkey (_4, _7, _9) )
# 2217 "sqml/sqml_parser.ml"
               : 'table_constraint_def))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'search_condition) in
    Obj.repr(
# 445 "sqml/sqml_parser.mly"
                                                               ( `check _3 )
# 2224 "sqml/sqml_parser.ml"
               : 'table_constraint_def))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'column) in
    Obj.repr(
# 450 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2231 "sqml/sqml_parser.ml"
               : 'column_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'column_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'column) in
    Obj.repr(
# 451 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2239 "sqml/sqml_parser.ml"
               : 'column_commalist))
; (fun __caml_parser_env ->
    Obj.repr(
# 455 "sqml/sqml_parser.mly"
                                                              ( [] )
# 2245 "sqml/sqml_parser.ml"
               : 'opt_column_commalist))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 1 : 'column_commalist) in
    Obj.repr(
# 456 "sqml/sqml_parser.mly"
                                                               ( _2 )
# 2252 "sqml/sqml_parser.ml"
               : 'opt_column_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 459 "sqml/sqml_parser.mly"
                          ( _1 )
# 2259 "sqml/sqml_parser.ml"
               : 'user))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 4 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 3 : 'opt_column_commalist) in
    let _6 = (Parsing.peek_val __caml_parser_env 1 : 'select_exp) in
    let _7 = (Parsing.peek_val __caml_parser_env 0 : 'opt_with_check_option) in
    Obj.repr(
# 464 "sqml/sqml_parser.mly"
                                                              ( _3, _4, _6, _7 )
# 2269 "sqml/sqml_parser.ml"
               : 'view_def))
; (fun __caml_parser_env ->
    Obj.repr(
# 468 "sqml/sqml_parser.mly"
                                                              ( `nocheck )
# 2275 "sqml/sqml_parser.ml"
               : 'opt_with_check_option))
; (fun __caml_parser_env ->
    Obj.repr(
# 469 "sqml/sqml_parser.mly"
                                                               ( `check )
# 2281 "sqml/sqml_parser.ml"
               : 'opt_with_check_option))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 5 : 'privileges) in
    let _4 = (Parsing.peek_val __caml_parser_env 3 : 'table) in
    let _6 = (Parsing.peek_val __caml_parser_env 1 : 'grantee_commalist) in
    let _7 = (Parsing.peek_val __caml_parser_env 0 : 'opt_with_grant_option) in
    Obj.repr(
# 475 "sqml/sqml_parser.mly"
                                                              ( _2, _4, _6, _7 )
# 2291 "sqml/sqml_parser.ml"
               : 'privilege_def))
; (fun __caml_parser_env ->
    Obj.repr(
# 479 "sqml/sqml_parser.mly"
                                                              ( `nograntoption )
# 2297 "sqml/sqml_parser.ml"
               : 'opt_with_grant_option))
; (fun __caml_parser_env ->
    Obj.repr(
# 480 "sqml/sqml_parser.mly"
                                                               ( `grantoption )
# 2303 "sqml/sqml_parser.ml"
               : 'opt_with_grant_option))
; (fun __caml_parser_env ->
    Obj.repr(
# 484 "sqml/sqml_parser.mly"
                                                              ( `all )
# 2309 "sqml/sqml_parser.ml"
               : 'privileges))
; (fun __caml_parser_env ->
    Obj.repr(
# 485 "sqml/sqml_parser.mly"
                                                               ( `all )
# 2315 "sqml/sqml_parser.ml"
               : 'privileges))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'operation_commalist) in
    Obj.repr(
# 486 "sqml/sqml_parser.mly"
                                                               ( `some _1 )
# 2322 "sqml/sqml_parser.ml"
               : 'privileges))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'operation) in
    Obj.repr(
# 490 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2329 "sqml/sqml_parser.ml"
               : 'operation_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'operation_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'operation) in
    Obj.repr(
# 491 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2337 "sqml/sqml_parser.ml"
               : 'operation_commalist))
; (fun __caml_parser_env ->
    Obj.repr(
# 495 "sqml/sqml_parser.mly"
                                                              ( `select )
# 2343 "sqml/sqml_parser.ml"
               : 'operation))
; (fun __caml_parser_env ->
    Obj.repr(
# 496 "sqml/sqml_parser.mly"
                                                               ( `insert )
# 2349 "sqml/sqml_parser.ml"
               : 'operation))
; (fun __caml_parser_env ->
    Obj.repr(
# 497 "sqml/sqml_parser.mly"
                                                               ( `delete )
# 2355 "sqml/sqml_parser.ml"
               : 'operation))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'opt_column_commalist) in
    Obj.repr(
# 498 "sqml/sqml_parser.mly"
                                                               ( `update _2 )
# 2362 "sqml/sqml_parser.ml"
               : 'operation))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'opt_column_commalist) in
    Obj.repr(
# 499 "sqml/sqml_parser.mly"
                                                               ( `references _2 )
# 2369 "sqml/sqml_parser.ml"
               : 'operation))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'grantee) in
    Obj.repr(
# 504 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2376 "sqml/sqml_parser.ml"
               : 'grantee_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'grantee_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'grantee) in
    Obj.repr(
# 505 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2384 "sqml/sqml_parser.ml"
               : 'grantee_commalist))
; (fun __caml_parser_env ->
    Obj.repr(
# 509 "sqml/sqml_parser.mly"
                                                              ( `public )
# 2390 "sqml/sqml_parser.ml"
               : 'grantee))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'user) in
    Obj.repr(
# 510 "sqml/sqml_parser.mly"
                                                               ( `user _1 )
# 2397 "sqml/sqml_parser.ml"
               : 'grantee))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'module_def) in
    Obj.repr(
# 514 "sqml/sqml_parser.mly"
                                                                  ( `moduledef _1 )
# 2404 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 6 : 'opt_module) in
    let _4 = (Parsing.peek_val __caml_parser_env 4 : 'lang) in
    let _6 = (Parsing.peek_val __caml_parser_env 2 : 'user) in
    let _7 = (Parsing.peek_val __caml_parser_env 1 : 'opt_cursor_def_list) in
    let _8 = (Parsing.peek_val __caml_parser_env 0 : 'procedure_def_list) in
    Obj.repr(
# 522 "sqml/sqml_parser.mly"
                                                              ( _2, _4, _6, _7, _8 )
# 2415 "sqml/sqml_parser.ml"
               : 'module_def))
; (fun __caml_parser_env ->
    Obj.repr(
# 526 "sqml/sqml_parser.mly"
                                                              ( None )
# 2421 "sqml/sqml_parser.ml"
               : 'opt_module))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'sqlmodule) in
    Obj.repr(
# 527 "sqml/sqml_parser.mly"
                                                               ( Some _1 )
# 2428 "sqml/sqml_parser.ml"
               : 'opt_module))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 530 "sqml/sqml_parser.mly"
                  ( _1 )
# 2435 "sqml/sqml_parser.ml"
               : 'sqlmodule))
; (fun __caml_parser_env ->
    Obj.repr(
# 534 "sqml/sqml_parser.mly"
                                                              ( `cobol )
# 2441 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 535 "sqml/sqml_parser.mly"
                                                               ( `fortran )
# 2447 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 536 "sqml/sqml_parser.mly"
                                                               ( `pascal )
# 2453 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 537 "sqml/sqml_parser.mly"
                                                               ( `pli )
# 2459 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 538 "sqml/sqml_parser.mly"
                                                               ( `c )
# 2465 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 539 "sqml/sqml_parser.mly"
                                                               ( `ada )
# 2471 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 540 "sqml/sqml_parser.mly"
                                                                     ( `ocaml )
# 2477 "sqml/sqml_parser.ml"
               : 'lang))
; (fun __caml_parser_env ->
    Obj.repr(
# 544 "sqml/sqml_parser.mly"
                                                              ( [] )
# 2483 "sqml/sqml_parser.ml"
               : 'opt_cursor_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'cursor_def_list) in
    Obj.repr(
# 545 "sqml/sqml_parser.mly"
                                                               ( _1 )
# 2490 "sqml/sqml_parser.ml"
               : 'opt_cursor_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'cursor_def) in
    Obj.repr(
# 549 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2497 "sqml/sqml_parser.ml"
               : 'cursor_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'cursor_def_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'cursor_def) in
    Obj.repr(
# 550 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_2] )
# 2505 "sqml/sqml_parser.ml"
               : 'cursor_def_list))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 4 : 'cursor) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'query_exp) in
    let _6 = (Parsing.peek_val __caml_parser_env 0 : 'opt_order_by_clause) in
    Obj.repr(
# 554 "sqml/sqml_parser.mly"
                                                              ( _2, _5, _6 )
# 2514 "sqml/sqml_parser.ml"
               : 'cursor_def))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 557 "sqml/sqml_parser.mly"
               ( _1 )
# 2521 "sqml/sqml_parser.ml"
               : 'cursor))
; (fun __caml_parser_env ->
    Obj.repr(
# 562 "sqml/sqml_parser.mly"
                                                              ( [] )
# 2527 "sqml/sqml_parser.ml"
               : 'opt_order_by_clause))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'ordering_spec_commalist) in
    Obj.repr(
# 563 "sqml/sqml_parser.mly"
                                                               ( _3 )
# 2534 "sqml/sqml_parser.ml"
               : 'opt_order_by_clause))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'ordering_spec) in
    Obj.repr(
# 567 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2541 "sqml/sqml_parser.ml"
               : 'ordering_spec_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'ordering_spec_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'ordering_spec) in
    Obj.repr(
# 568 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2549 "sqml/sqml_parser.ml"
               : 'ordering_spec_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 :  [`int of int | `inttoomuch of string] ) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'opt_asc_desc) in
    Obj.repr(
# 572 "sqml/sqml_parser.mly"
                                                              ( `numcolumn (normal_int _1), _2 )
# 2557 "sqml/sqml_parser.ml"
               : 'ordering_spec))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'column_ref) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'opt_asc_desc) in
    Obj.repr(
# 573 "sqml/sqml_parser.mly"
                                                               ( `column _1, _2 )
# 2565 "sqml/sqml_parser.ml"
               : 'ordering_spec))
; (fun __caml_parser_env ->
    Obj.repr(
# 577 "sqml/sqml_parser.mly"
                                                              ( None )
# 2571 "sqml/sqml_parser.ml"
               : 'opt_asc_desc))
; (fun __caml_parser_env ->
    Obj.repr(
# 578 "sqml/sqml_parser.mly"
                                                               ( Some `asc )
# 2577 "sqml/sqml_parser.ml"
               : 'opt_asc_desc))
; (fun __caml_parser_env ->
    Obj.repr(
# 579 "sqml/sqml_parser.mly"
                                                               ( Some `desc )
# 2583 "sqml/sqml_parser.ml"
               : 'opt_asc_desc))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'procedure_def) in
    Obj.repr(
# 583 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2590 "sqml/sqml_parser.ml"
               : 'procedure_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'procedure_def_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'procedure_def) in
    Obj.repr(
# 584 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_2] )
# 2598 "sqml/sqml_parser.ml"
               : 'procedure_def_list))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 3 : 'procedure) in
    let _3 = (Parsing.peek_val __caml_parser_env 2 : 'parameter_def_list) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'manipulative_statement_list) in
    Obj.repr(
# 589 "sqml/sqml_parser.mly"
                                                              ( _2, _3, _5 )
# 2607 "sqml/sqml_parser.ml"
               : 'procedure_def))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 592 "sqml/sqml_parser.mly"
                 ( _1 )
# 2614 "sqml/sqml_parser.ml"
               : 'procedure))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'manipulative_statement) in
    Obj.repr(
# 596 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2621 "sqml/sqml_parser.ml"
               : 'manipulative_statement_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'manipulative_statement_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'manipulative_statement) in
    Obj.repr(
# 597 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_2] )
# 2629 "sqml/sqml_parser.ml"
               : 'manipulative_statement_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'parameter_def) in
    Obj.repr(
# 601 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2636 "sqml/sqml_parser.ml"
               : 'parameter_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'parameter_def_list) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'parameter_def) in
    Obj.repr(
# 602 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_2] )
# 2644 "sqml/sqml_parser.ml"
               : 'parameter_def_list))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 1 : 'parameter) in
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'data_type) in
    Obj.repr(
# 606 "sqml/sqml_parser.mly"
                                                              ( `par (_1, _2) )
# 2652 "sqml/sqml_parser.ml"
               : 'parameter_def))
; (fun __caml_parser_env ->
    Obj.repr(
# 607 "sqml/sqml_parser.mly"
                                                               ( `sqlcode )
# 2658 "sqml/sqml_parser.ml"
               : 'parameter_def))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'manipulative_statement) in
    Obj.repr(
# 612 "sqml/sqml_parser.mly"
                                                                  ( `manip _1 )
# 2665 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'close_statement) in
    Obj.repr(
# 616 "sqml/sqml_parser.mly"
                                                              ( `close _1 )
# 2672 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'commit_statement) in
    Obj.repr(
# 617 "sqml/sqml_parser.mly"
                                                               ( `commit )
# 2679 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'delete_statement_positioned) in
    Obj.repr(
# 618 "sqml/sqml_parser.mly"
                                                               ( `delete_pos _1 )
# 2686 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'delete_statement_searched) in
    Obj.repr(
# 619 "sqml/sqml_parser.mly"
                                                               ( `delete_where _1 )
# 2693 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'fetch_statement) in
    Obj.repr(
# 620 "sqml/sqml_parser.mly"
                                                               ( `fetch _1 )
# 2700 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'insert_statement) in
    Obj.repr(
# 621 "sqml/sqml_parser.mly"
                                                               ( `insert _1 )
# 2707 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'open_statement) in
    Obj.repr(
# 622 "sqml/sqml_parser.mly"
                                                               ( `opencursor _1 )
# 2714 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'rollback_statement) in
    Obj.repr(
# 623 "sqml/sqml_parser.mly"
                                                               ( `rollback )
# 2721 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'select_statement) in
    Obj.repr(
# 624 "sqml/sqml_parser.mly"
                                                               ( `select _1 )
# 2728 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'update_statement_positioned) in
    Obj.repr(
# 625 "sqml/sqml_parser.mly"
                                                               ( `update_pos _1 )
# 2735 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'update_statement_searched) in
    Obj.repr(
# 626 "sqml/sqml_parser.mly"
                                                               ( `update_where _1 )
# 2742 "sqml/sqml_parser.ml"
               : 'manipulative_statement))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'cursor) in
    Obj.repr(
# 630 "sqml/sqml_parser.mly"
                                                              ( _2 )
# 2749 "sqml/sqml_parser.ml"
               : 'close_statement))
; (fun __caml_parser_env ->
    Obj.repr(
# 634 "sqml/sqml_parser.mly"
                                                              ( () )
# 2755 "sqml/sqml_parser.ml"
               : 'commit_statement))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 4 : 'table) in
    let _7 = (Parsing.peek_val __caml_parser_env 0 : 'cursor) in
    Obj.repr(
# 638 "sqml/sqml_parser.mly"
                                                              ( _3, _7 )
# 2763 "sqml/sqml_parser.ml"
               : 'delete_statement_positioned))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 1 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'opt_where_clause) in
    Obj.repr(
# 642 "sqml/sqml_parser.mly"
                                                              ( _3, _4 )
# 2771 "sqml/sqml_parser.ml"
               : 'delete_statement_searched))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 2 : 'cursor) in
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'target_commalist) in
    Obj.repr(
# 646 "sqml/sqml_parser.mly"
                                                              ( _2, _4 )
# 2779 "sqml/sqml_parser.ml"
               : 'fetch_statement))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 : 'cursor) in
    Obj.repr(
# 650 "sqml/sqml_parser.mly"
                                                              ( _2 )
# 2786 "sqml/sqml_parser.ml"
               : 'open_statement))
; (fun __caml_parser_env ->
    Obj.repr(
# 654 "sqml/sqml_parser.mly"
                                                              ( () )
# 2792 "sqml/sqml_parser.ml"
               : 'rollback_statement))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 4 : 'opt_all_distinct) in
    let _3 = (Parsing.peek_val __caml_parser_env 3 : 'selection) in
    let _5 = (Parsing.peek_val __caml_parser_env 1 : 'target_commalist) in
    let _6 = (Parsing.peek_val __caml_parser_env 0 : 'table_exp) in
    Obj.repr(
# 660 "sqml/sqml_parser.mly"
                                                              ( let a, b, c, d = _6 in (_2, _3, a, b, c, d), _5 )
# 2802 "sqml/sqml_parser.ml"
               : 'select_statement))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 6 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 4 : 'assignment_commalist) in
    let _8 = (Parsing.peek_val __caml_parser_env 0 : 'cursor) in
    Obj.repr(
# 665 "sqml/sqml_parser.mly"
                                                              ( _2, _4, _8 )
# 2811 "sqml/sqml_parser.ml"
               : 'update_statement_positioned))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'assignment) in
    Obj.repr(
# 669 "sqml/sqml_parser.mly"
                                                               ( [_1] )
# 2818 "sqml/sqml_parser.ml"
               : 'assignment_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'assignment_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'assignment) in
    Obj.repr(
# 670 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2826 "sqml/sqml_parser.ml"
               : 'assignment_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'column) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 :  Sqml_sqlstx.comparison ) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'scalar_exp) in
    Obj.repr(
# 674 "sqml/sqml_parser.mly"
                                                              ( if _2 <> `eq
                                                                              then parse_error "assignment expected"
                                                                              else `column_exp (_1, _3) )
# 2837 "sqml/sqml_parser.ml"
               : 'assignment))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'column) in
    let _2 = (Parsing.peek_val __caml_parser_env 1 :  Sqml_sqlstx.comparison ) in
    Obj.repr(
# 677 "sqml/sqml_parser.mly"
                                                               ( if _2 <> `eq
                                                                              then parse_error "assignment expected"
                                                                              else `column_null _1 )
# 2847 "sqml/sqml_parser.ml"
               : 'assignment))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 3 : 'table) in
    let _4 = (Parsing.peek_val __caml_parser_env 1 : 'assignment_commalist) in
    let _5 = (Parsing.peek_val __caml_parser_env 0 : 'opt_where_clause) in
    Obj.repr(
# 683 "sqml/sqml_parser.mly"
                                                              ( _2, _4, _5 )
# 2856 "sqml/sqml_parser.ml"
               : 'update_statement_searched))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'target) in
    Obj.repr(
# 687 "sqml/sqml_parser.mly"
                                                              ( [_1] )
# 2863 "sqml/sqml_parser.ml"
               : 'target_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 2 : 'target_commalist) in
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'target) in
    Obj.repr(
# 688 "sqml/sqml_parser.mly"
                                                               ( _1 @ [_3] )
# 2871 "sqml/sqml_parser.ml"
               : 'target_commalist))
; (fun __caml_parser_env ->
    let _1 = (Parsing.peek_val __caml_parser_env 0 : 'parameter_ref) in
    Obj.repr(
# 692 "sqml/sqml_parser.mly"
                                                              ( _1 )
# 2878 "sqml/sqml_parser.ml"
               : 'target))
; (fun __caml_parser_env ->
    let _4 = (Parsing.peek_val __caml_parser_env 0 : 'when_action) in
    Obj.repr(
# 697 "sqml/sqml_parser.mly"
                                                                  ( `when_not_found _4 )
# 2885 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _3 = (Parsing.peek_val __caml_parser_env 0 : 'when_action) in
    Obj.repr(
# 698 "sqml/sqml_parser.mly"
                                                               ( `whenever_sqlerror _3 )
# 2892 "sqml/sqml_parser.ml"
               :  Sqml_sqlstx.cmd ))
; (fun __caml_parser_env ->
    let _2 = (Parsing.peek_val __caml_parser_env 0 :  string ) in
    Obj.repr(
# 701 "sqml/sqml_parser.mly"
                                                                         ( `goto _2 )
# 2899 "sqml/sqml_parser.ml"
               : 'when_action))
; (fun __caml_parser_env ->
    Obj.repr(
# 702 "sqml/sqml_parser.mly"
                                                               ( `continue )
# 2905 "sqml/sqml_parser.ml"
               : 'when_action))
(* Entry query *)
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
(* Entry sql_cmd_list *)
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
(* Entry cmd *)
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
(* Entry full_select *)
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
(* Entry ugly_eof *)
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
|]
let yytables =
  { Parsing.actions=yyact;
    Parsing.transl_const=yytransl_const;
    Parsing.transl_block=yytransl_block;
    Parsing.lhs=yylhs;
    Parsing.len=yylen;
    Parsing.defred=yydefred;
    Parsing.dgoto=yydgoto;
    Parsing.sindex=yysindex;
    Parsing.rindex=yyrindex;
    Parsing.gindex=yygindex;
    Parsing.tablesize=yytablesize;
    Parsing.table=yytable;
    Parsing.check=yycheck;
    Parsing.error_function=parse_error;
    Parsing.names_const=yynames_const;
    Parsing.names_block=yynames_block }
let query (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
   (Parsing.yyparse yytables 1 lexfun lexbuf :  Sqml_sqlstx.query )
let sql_cmd_list (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
   (Parsing.yyparse yytables 2 lexfun lexbuf :  Sqml_sqlstx.cmd list )
let cmd (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
   (Parsing.yyparse yytables 3 lexfun lexbuf :  Sqml_sqlstx.cmd )
let full_select (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
   (Parsing.yyparse yytables 4 lexfun lexbuf :  Sqml_sqlstx.select * Sqml_sqlstx.ordering list )
let ugly_eof (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
   (Parsing.yyparse yytables 5 lexfun lexbuf :  unit )
;;
# 706 "sqml/sqml_parser.mly"
(*


*)

# 2951 "sqml/sqml_parser.ml"