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"
# 125 "sqml/sqml_parser.ml"
let yytransl_const = [|
262 ;
263 ;
264 ;
265 ;
266 ;
267 ;
268 ;
269 ;
270 ;
271 ;
272 ;
273 ;
274 ;
275 ;
276 ;
277 ;
278 ;
279 ;
280 ;
281 ;
282 ;
283 ;
284 ;
285 ;
286 ;
287 ;
288 ;
289 ;
290 ;
291 ;
292 ;
293 ;
294 ;
295 ;
296 ;
297 ;
298 ;
299 ;
300 ;
301 ;
302 ;
303 ;
304 ;
305 ;
306 ;
307 ;
308 ;
309 ;
310 ;
311 ;
312 ;
313 ;
314 ;
315 ;
316 ;
317 ;
318 ;
319 ;
320 ;
321 ;
322 ;
323 ;
324 ;
325 ;
326 ;
327 ;
328 ;
329 ;
330 ;
331 ;
332 ;
333 ;
334 ;
335 ;
336 ;
337 ;
338 ;
339 ;
340 ;
341 ;
342 ;
343 ;
344 ;
345 ;
346 ;
347 ;
348 ;
349 ;
350 ;
351 ;
352 ;
353 ;
354 ;
355 ;
356 ;
357 ;
358 ;
359 ;
360 ;
361 ;
362 ;
363 ;
364 ;
0 ;
0|]
let yytransl_block = [|
257 ;
258 ;
259 ;
260 ;
261 ;
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))
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
; (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"