type token = | TSL_BEGIN_C_STYLE of ( # 34 "ocamltest/tsl_parser.mly" [`Above | `Below] # 6 "ocamltest/tsl_parser.ml" ) | TSL_END_C_STYLE | TSL_BEGIN_OCAML_STYLE of ( # 36 "ocamltest/tsl_parser.mly" [`Above | `Below] # 12 "ocamltest/tsl_parser.ml" ) | TSL_END_OCAML_STYLE | COMMA | LEFT_BRACE | RIGHT_BRACE | SEMI | TEST_DEPTH of ( # 39 "ocamltest/tsl_parser.mly" int # 22 "ocamltest/tsl_parser.ml" ) | EQUAL | PLUSEQUAL | INCLUDE | SET | UNSET | WITH | IDENTIFIER of ( # 43 "ocamltest/tsl_parser.mly" string # 33 "ocamltest/tsl_parser.ml" ) | STRING of ( # 44 "ocamltest/tsl_parser.mly" string # 38 "ocamltest/tsl_parser.ml" ) open Parsing let _ = parse_error;; # 19 "ocamltest/tsl_parser.mly" open Location open Tsl_ast let mkstring s = make_string ~loc:(symbol_rloc()) s let mkidentifier id = make_identifier ~loc:(symbol_rloc()) id let mkenvstmt envstmt = let located_env_statement = make_environment_statement ~loc:(symbol_rloc()) envstmt in Environment_statement located_env_statement # 57 "ocamltest/tsl_parser.ml" let yytransl_const = [| 258 (* TSL_END_C_STYLE *); 260 (* TSL_END_OCAML_STYLE *); 261 (* COMMA *); 262 (* LEFT_BRACE *); 263 (* RIGHT_BRACE *); 264 (* SEMI *); 266 (* EQUAL *); 267 (* PLUSEQUAL *); 268 (* INCLUDE *); 269 (* SET *); 270 (* UNSET *); 271 (* WITH *); 0|] let yytransl_block = [| 257 (* TSL_BEGIN_C_STYLE *); 259 (* TSL_BEGIN_OCAML_STYLE *); 265 (* TEST_DEPTH *); 272 (* IDENTIFIER *); 273 (* STRING *); 0|] let yylhs = "\255\255\ \003\000\005\000\005\000\006\000\004\000\004\000\007\000\007\000\ \002\000\002\000\001\000\001\000\011\000\011\000\012\000\012\000\ \013\000\010\000\010\000\014\000\014\000\008\000\008\000\008\000\ \008\000\008\000\009\000\015\000\000\000\000\000" let yylen = "\002\000\ \002\000\000\000\002\000\003\000\000\000\002\000\002\000\003\000\ \003\000\003\000\003\000\003\000\000\000\002\000\001\000\001\000\ \003\000\000\000\003\000\000\000\003\000\003\000\003\000\004\000\ \002\000\002\000\001\000\001\000\002\000\002\000" let yydefred = "\000\000\ \000\000\000\000\000\000\000\000\000\000\029\000\000\000\000\000\ \030\000\000\000\000\000\000\000\000\000\027\000\016\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\026\000\000\000\025\000\000\000\000\000\ \011\000\014\000\012\000\009\000\000\000\001\000\000\000\006\000\ \007\000\000\000\000\000\010\000\017\000\000\000\028\000\022\000\ \023\000\000\000\003\000\020\000\008\000\024\000\004\000\000\000\ \000\000\021\000" let yydgoto = "\003\000\ \006\000\009\000\021\000\022\000\038\000\039\000\023\000\024\000\ \025\000\043\000\017\000\018\000\019\000\056\000\048\000" let yysindex = "\069\000\ \002\255\055\255\000\000\027\255\027\255\000\000\049\255\049\255\ \000\000\244\254\244\254\244\254\244\254\000\000\000\000\062\255\ \009\255\027\255\000\000\022\255\043\255\023\255\049\255\051\255\ \039\255\047\255\061\255\000\000\058\255\000\000\063\255\063\255\ \000\000\000\000\000\000\000\000\049\255\000\000\023\255\000\000\ \000\000\244\254\069\255\000\000\000\000\063\255\000\000\000\000\ \000\000\071\255\000\000\000\000\000\000\000\000\000\000\074\255\ \244\254\000\000" let yyrindex = "\000\000\ \000\000\000\000\000\000\079\255\078\255\000\000\046\255\060\255\ \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ \000\000\065\255\000\000\000\000\000\000\053\255\040\255\000\000\ \075\255\000\000\021\255\000\000\000\000\000\000\000\000\000\000\ \000\000\000\000\000\000\000\000\068\255\000\000\053\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\008\255\ \000\000\000\000" let yygindex = "\000\000\ \000\000\000\000\250\255\061\000\046\000\000\000\000\000\014\000\ \252\255\059\000\010\000\000\000\000\000\000\000\237\255" let yytablesize = 86 let yytable = "\016\000\ \016\000\026\000\004\000\014\000\005\000\027\000\028\000\029\000\ \030\000\019\000\033\000\019\000\049\000\016\000\020\000\019\000\ \019\000\015\000\015\000\019\000\019\000\019\000\018\000\019\000\ \018\000\035\000\054\000\034\000\037\000\018\000\050\000\015\000\ \018\000\018\000\018\000\010\000\018\000\052\000\011\000\012\000\ \013\000\005\000\014\000\005\000\036\000\005\000\005\000\005\000\ \031\000\032\000\044\000\005\000\058\000\042\000\002\000\007\000\ \002\000\008\000\041\000\002\000\011\000\012\000\013\000\005\000\ \014\000\005\000\013\000\046\000\013\000\001\000\002\000\031\000\ \032\000\005\000\005\000\042\000\053\000\055\000\057\000\047\000\ \013\000\013\000\018\000\040\000\051\000\045\000" let yycheck = "\004\000\ \005\000\008\000\001\001\016\001\003\001\010\000\011\000\012\000\ \013\000\002\001\002\001\004\001\032\000\018\000\005\000\008\001\ \009\001\004\000\005\000\012\001\013\001\014\001\002\001\016\001\ \004\001\004\001\046\000\018\000\006\001\009\001\037\000\018\000\ \012\001\013\001\014\001\009\001\016\001\042\000\012\001\013\001\ \014\001\002\001\016\001\004\001\002\001\006\001\007\001\002\001\ \010\001\011\001\004\001\006\001\057\000\015\001\002\001\001\001\ \004\001\003\001\008\001\007\001\012\001\013\001\014\001\004\001\ \016\001\006\001\002\001\010\001\004\001\001\000\002\000\010\001\ \011\001\006\001\007\001\015\001\008\001\007\001\005\001\017\001\ \002\001\004\001\008\001\023\000\039\000\027\000" let yynames_const = "\ TSL_END_C_STYLE\000\ TSL_END_OCAML_STYLE\000\ COMMA\000\ LEFT_BRACE\000\ RIGHT_BRACE\000\ SEMI\000\ EQUAL\000\ PLUSEQUAL\000\ INCLUDE\000\ SET\000\ UNSET\000\ WITH\000\ " let yynames_block = "\ TSL_BEGIN_C_STYLE\000\ TSL_BEGIN_OCAML_STYLE\000\ TEST_DEPTH\000\ IDENTIFIER\000\ STRING\000\ " let yyact = [| (fun _ -> failwith "parser") ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'statement_list) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'tree_list) in Obj.repr( # 53 "ocamltest/tsl_parser.mly" ( Ast (_1, _2) ) # 189 "ocamltest/tsl_parser.ml" : 'node)) ; (fun __caml_parser_env -> Obj.repr( # 56 "ocamltest/tsl_parser.mly" ( [] ) # 195 "ocamltest/tsl_parser.ml" : 'tree_list)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'tree) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'tree_list) in Obj.repr( # 57 "ocamltest/tsl_parser.mly" ( _1 :: _2 ) # 203 "ocamltest/tsl_parser.ml" : 'tree_list)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'node) in Obj.repr( # 60 "ocamltest/tsl_parser.mly" ( _2 ) # 210 "ocamltest/tsl_parser.ml" : 'tree)) ; (fun __caml_parser_env -> Obj.repr( # 63 "ocamltest/tsl_parser.mly" ( [] ) # 216 "ocamltest/tsl_parser.ml" : 'statement_list)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'statement) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'statement_list) in Obj.repr( # 64 "ocamltest/tsl_parser.mly" ( _1 :: _2 ) # 224 "ocamltest/tsl_parser.ml" : 'statement_list)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'env_item) in Obj.repr( # 67 "ocamltest/tsl_parser.mly" ( _1 ) # 231 "ocamltest/tsl_parser.ml" : 'statement)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'identifier) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'with_environment_modifiers) in Obj.repr( # 68 "ocamltest/tsl_parser.mly" ( Test (0, _1, _2) ) # 239 "ocamltest/tsl_parser.ml" : 'statement)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : [`Above | `Below]) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'node) in Obj.repr( # 71 "ocamltest/tsl_parser.mly" ( _2 ) # 247 "ocamltest/tsl_parser.ml" : Tsl_ast.t)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : [`Above | `Below]) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'node) in Obj.repr( # 72 "ocamltest/tsl_parser.mly" ( _2 ) # 255 "ocamltest/tsl_parser.ml" : Tsl_ast.t)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : [`Above | `Below]) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'tsl_items) in Obj.repr( # 75 "ocamltest/tsl_parser.mly" ( _2 ) # 263 "ocamltest/tsl_parser.ml" : Tsl_ast.tsl_block)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : [`Above | `Below]) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'tsl_items) in Obj.repr( # 76 "ocamltest/tsl_parser.mly" ( _2 ) # 271 "ocamltest/tsl_parser.ml" : Tsl_ast.tsl_block)) ; (fun __caml_parser_env -> Obj.repr( # 79 "ocamltest/tsl_parser.mly" ( [] ) # 277 "ocamltest/tsl_parser.ml" : 'tsl_items)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 1 : 'tsl_item) in let _2 = (Parsing.peek_val __caml_parser_env 0 : 'tsl_items) in Obj.repr( # 80 "ocamltest/tsl_parser.mly" ( _1 :: _2 ) # 285 "ocamltest/tsl_parser.ml" : 'tsl_items)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'test_item) in Obj.repr( # 83 "ocamltest/tsl_parser.mly" ( _1 ) # 292 "ocamltest/tsl_parser.ml" : 'tsl_item)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : 'env_item) in Obj.repr( # 84 "ocamltest/tsl_parser.mly" ( _1 ) # 299 "ocamltest/tsl_parser.ml" : 'tsl_item)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : int) in let _2 = (Parsing.peek_val __caml_parser_env 1 : 'identifier) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'with_environment_modifiers) in Obj.repr( # 87 "ocamltest/tsl_parser.mly" ( (Test (_1, _2, _3)) ) # 308 "ocamltest/tsl_parser.ml" : 'test_item)) ; (fun __caml_parser_env -> Obj.repr( # 90 "ocamltest/tsl_parser.mly" ( [] ) # 314 "ocamltest/tsl_parser.ml" : 'with_environment_modifiers)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 1 : 'identifier) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'opt_environment_modifiers) in Obj.repr( # 91 "ocamltest/tsl_parser.mly" ( _2::(List.rev _3) ) # 322 "ocamltest/tsl_parser.ml" : 'with_environment_modifiers)) ; (fun __caml_parser_env -> Obj.repr( # 94 "ocamltest/tsl_parser.mly" ( [] ) # 328 "ocamltest/tsl_parser.ml" : 'opt_environment_modifiers)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'opt_environment_modifiers) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'identifier) in Obj.repr( # 95 "ocamltest/tsl_parser.mly" ( _3::_1 ) # 336 "ocamltest/tsl_parser.ml" : 'opt_environment_modifiers)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'identifier) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'string) in Obj.repr( # 99 "ocamltest/tsl_parser.mly" ( mkenvstmt (Assignment (false, _1, _3)) ) # 344 "ocamltest/tsl_parser.ml" : 'env_item)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 2 : 'identifier) in let _3 = (Parsing.peek_val __caml_parser_env 0 : 'string) in Obj.repr( # 101 "ocamltest/tsl_parser.mly" ( mkenvstmt (Append (_1, _3)) ) # 352 "ocamltest/tsl_parser.ml" : 'env_item)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 2 : 'identifier) in let _4 = (Parsing.peek_val __caml_parser_env 0 : 'string) in Obj.repr( # 103 "ocamltest/tsl_parser.mly" ( mkenvstmt (Assignment (true, _2, _4)) ) # 360 "ocamltest/tsl_parser.ml" : 'env_item)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'identifier) in Obj.repr( # 105 "ocamltest/tsl_parser.mly" ( mkenvstmt (Unset _2) ) # 367 "ocamltest/tsl_parser.ml" : 'env_item)) ; (fun __caml_parser_env -> let _2 = (Parsing.peek_val __caml_parser_env 0 : 'identifier) in Obj.repr( # 108 "ocamltest/tsl_parser.mly" ( mkenvstmt (Include _2) ) # 374 "ocamltest/tsl_parser.ml" : 'env_item)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in Obj.repr( # 110 "ocamltest/tsl_parser.mly" ( mkidentifier _1 ) # 381 "ocamltest/tsl_parser.ml" : 'identifier)) ; (fun __caml_parser_env -> let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in Obj.repr( # 112 "ocamltest/tsl_parser.mly" ( mkstring _1 ) # 388 "ocamltest/tsl_parser.ml" : 'string)) (* Entry tsl_block *) ; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0))) (* Entry tsl_script *) ; (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 tsl_block (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = (Parsing.yyparse yytables 1 lexfun lexbuf : Tsl_ast.tsl_block) let tsl_script (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) = (Parsing.yyparse yytables 2 lexfun lexbuf : Tsl_ast.t) ;;