type token =
| GROUP
| ITEM
| EMPTY
| STATE
| DESC
| BEFORE
| EOF
| String of (string)
| Date of (Tdl_date.t)
| State of (Tdl_types.state)
| LPAR
| RPAR
| OR
| AND
| NOT
open Parsing;;
# 2 "tdl/tdl_filter_parser.mly"
open Tdl_filter
# 22 "tdl/tdl_filter_parser.ml"
let yytransl_const = [|
257 ;
258 ;
259 ;
260 ;
261 ;
262 ;
0 ;
266 ;
267 ;
268 ;
269 ;
270 ;
0|]
let yytransl_block = [|
263 ;
264 ;
265 ;
0|]
let yylhs = "\255\255\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\001\000\000\000"
let yylen = "\002\000\002\000\002\000\001\000\002\000\002\000\002\000\002\000\003\000\003\000\003\000\002\000"
let yydefred = "\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\002\000\004\000\005\000\006\000\000\000\007\000\000\000\000\000\t\000\000\000\008\000"
let yydgoto = "\002\000\011\000"
let yysindex = "\t\000\001\255\000\000\249\254\007\255\000\000\008\255\016\255\017\255\001\255\001\255\000\255\000\000\000\000\000\000\000\000\000\000\t\255\000\000\001\255\001\255\000\000\003\255\000\000"
let yyrindex = "\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000"
let yygindex = "\000\000\255\255"
let yytablesize = 269
let yytable = "\012\000\n\000\003\000\004\000\005\000\006\000\007\000\008\000\017\000\018\000\001\000\t\000\019\000\020\000\013\000\n\000\020\000\014\000\022\000\023\000\021\000\019\000\020\000\015\000\011\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\n\000"
let yycheck = "\007\001\000\000\001\001\002\001\003\001\004\001\005\001\006\001\t\000\n\000\001\000\n\001\012\001\013\001\007\001\014\001\013\001\t\001\019\000\020\000\011\001\012\001\013\001\007\001\000\000\008\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\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\011\001\012\001"
let yynames_const = "GROUP\000ITEM\000EMPTY\000STATE\000DESC\000BEFORE\000EOF\000LPAR\000RPAR\000OR\000AND\000NOT\000"
let yynames_block = "String\000Date\000State\000"
let yyact = [|
(fun _ -> failwith "parser")
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 19 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Group _2
)
# 176 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 22 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Item _2
)
# 185 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
Obj.repr(
# 25 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Empty
)
# 193 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : Tdl_types.state) in
Obj.repr(
# 28 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.State _2
)
# 202 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
# 31 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Desc _2
)
# 211 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : Tdl_date.t) in
Obj.repr(
# 34 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Before _2
)
# 220 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 0 : Tdl_filter.filter) in
Obj.repr(
# 37 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Not _2
)
# 229 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : Tdl_filter.filter) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : Tdl_filter.filter) in
Obj.repr(
# 40 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.And (_1, _3)
)
# 239 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _2 = (Parsing.peek_val __caml_parser_env 1 : Tdl_filter.filter) in
Obj.repr(
# 43 "tdl/tdl_filter_parser.mly"
(
_2
)
# 248 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (fun __caml_parser_env ->
let _1 = (Parsing.peek_val __caml_parser_env 2 : Tdl_filter.filter) in
let _3 = (Parsing.peek_val __caml_parser_env 0 : Tdl_filter.filter) in
Obj.repr(
# 46 "tdl/tdl_filter_parser.mly"
(
Tdl_filter.Or (_1, _3)
)
# 258 "tdl/tdl_filter_parser.ml"
: Tdl_filter.filter))
; (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 filter (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
(Parsing.yyparse yytables 1 lexfun lexbuf : Tdl_filter.filter)
;;