
(* This generated code requires the following version of MenhirLib: *)

let () =
  MenhirLib.StaticVersion.require_20260112

module MenhirBasics = struct
  
  exception Error
  
  let _eRR =
    fun _s ->
      raise Error
  
  type token = Js_token.token
  
end

include MenhirBasics

# 18 "compiler/lib/js_parser.mly"
  
(*
 * src: ocamlyaccified from Marcel Laverdet 'fbjs2' via emacs macros, itself
 * extracted from the official ECMAscript specification at:
 *  http://www.ecma-international.org/publications/standards/ecma-262.htm
 *
 * see also http://en.wikipedia.org/wiki/ECMAScript_syntax
 *
 * related work:
 *  - http://marijnhaverbeke.nl/parse-js/, js parser in common lisp
 *    (which has been since ported to javascript by nodejs people)
 *  - jslint
 *)

open Javascript

let var pi name = ident ~loc:(Pi pi) name


# 42 "compiler/lib/js_parser.ml"

module Tables = struct
  
  include MenhirBasics
  
  let semantic_action =
    [|
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let a : 
# 99 "compiler/lib/js_parser.mly"
       (Js_token.Annot.t)
# 62 "compiler/lib/js_parser.ml"
         = Obj.magic a in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_a_ in
        let _v : (Js_token.Annot.t) = 
# 150 "compiler/lib/js_parser.mly"
             ( a )
# 70 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let arg : (Javascript.expression) = Obj.magic arg in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 98 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_arg_ in
        let _v : (Javascript.expression * Javascript.spread) = 
# 551 "compiler/lib/js_parser.mly"
                                      ( arg, `Spread )
# 106 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = arg;
          MenhirLib.EngineTypes.startp = _startpos_arg_;
          MenhirLib.EngineTypes.endp = _endpos_arg_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let arg : (Javascript.expression) = Obj.magic arg in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_arg_ in
        let _endpos = _endpos_arg_ in
        let _v : (Javascript.expression * Javascript.spread) = 
# 552 "compiler/lib/js_parser.mly"
                             ( arg, `Not_spread )
# 131 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = xs;
            MenhirLib.EngineTypes.startp = _startpos_xs_;
            MenhirLib.EngineTypes.endp = _endpos_xs_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 164 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let xs : (Javascript.arguments) = Obj.magic xs in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 170 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let args =
            let item = 
# 241 "<standard.mly>"
    ( xs )
# 180 "compiler/lib/js_parser.ml"
             in
            
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 185 "compiler/lib/js_parser.ml"
            
          in
          (
# 555 "compiler/lib/js_parser.mly"
                                                    ( args )
# 191 "compiler/lib/js_parser.ml"
           : (Javascript.arguments))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 225 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let _2 : (Javascript.element_list) = Obj.magic _2 in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 231 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__3_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 517 "compiler/lib/js_parser.mly"
     ( (pi, EArr _2) )
# 239 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 266 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 271 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 519 "compiler/lib/js_parser.mly"
     ( (pi, EArr []) )
# 279 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 312 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let _2 : (Javascript.element_list) = Obj.magic _2 in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 318 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__3_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 521 "compiler/lib/js_parser.mly"
     ( (pi, EArr _2) )
# 326 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = pi;
                MenhirLib.EngineTypes.startp = _startpos_pi_;
                MenhirLib.EngineTypes.endp = _endpos_pi_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 365 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let _3 : (Javascript.element_list) = Obj.magic _3 in
        let _2 : (Javascript.expression option list) = Obj.magic _2 in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 372 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__4_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 523 "compiler/lib/js_parser.mly"
     ( (pi, EArr (List.rev_append _2 (List.rev _3))) )
# 380 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 322 "compiler/lib/js_parser.mly"
                          ( _1 )
# 405 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : (Javascript.binop) = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 324 "compiler/lib/js_parser.mly"
   ( EBin (_2, _1, _3) )
# 444 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 406 "compiler/lib/js_parser.mly"
                                ( _1 )
# 469 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : (Javascript.binop) = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 408 "compiler/lib/js_parser.mly"
     ( EBin(_2,_1,_3) )
# 508 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 430 "compiler/lib/js_parser.mly"
                                       ( _1 )
# 533 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : (Javascript.binop) = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 432 "compiler/lib/js_parser.mly"
   ( EBin (_2,_1,_3) )
# 572 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 593 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 678 "compiler/lib/js_parser.mly"
                    ( Eq )
# 601 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 622 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 679 "compiler/lib/js_parser.mly"
                    ( StarEq )
# 630 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 651 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 680 "compiler/lib/js_parser.mly"
                    ( SlashEq )
# 659 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 680 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 681 "compiler/lib/js_parser.mly"
                    ( ModEq )
# 688 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 709 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 682 "compiler/lib/js_parser.mly"
                    ( PlusEq )
# 717 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 738 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 683 "compiler/lib/js_parser.mly"
                    ( MinusEq )
# 746 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 767 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 684 "compiler/lib/js_parser.mly"
                    ( LslEq )
# 775 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 796 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 685 "compiler/lib/js_parser.mly"
                    ( AsrEq )
# 804 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 825 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 686 "compiler/lib/js_parser.mly"
                    ( LsrEq )
# 833 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 854 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 687 "compiler/lib/js_parser.mly"
                    ( BandEq )
# 862 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 883 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 688 "compiler/lib/js_parser.mly"
                    ( BxorEq )
# 891 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 912 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.binop) = 
# 689 "compiler/lib/js_parser.mly"
                    ( BorEq )
# 920 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let block : (Javascript.statement_list * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_block_ in
        let _endpos = _endpos_block_ in
        let _v : (Javascript.statement_list) = 
# 198 "compiler/lib/js_parser.mly"
   ( let statements, _, _ = block in statements )
# 945 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 966 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 492 "compiler/lib/js_parser.mly"
              ( (pi, EBool true) )
# 974 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 995 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 493 "compiler/lib/js_parser.mly"
              ( (pi, EBool false) )
# 1003 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : ((Javascript.Label.t * Parse_info.t) option) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1031 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 256 "compiler/lib/js_parser.mly"
                     ( (Break_statement (Stdlib.Option.map ~f:fst _2), Pi pi) )
# 1039 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.arguments) = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 359 "compiler/lib/js_parser.mly"
     ( let (start, e) = _1 in (start, ECall(e, _2, Pi start)) )
# 1071 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.arguments) = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 361 "compiler/lib/js_parser.mly"
     ( let (start, e) = _1 in (start, ECall(e, _2, Pi start)) )
# 1103 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1142 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1148 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 363 "compiler/lib/js_parser.mly"
     ( let (start, e) = _1 in (start, EAccess (e, _3)) )
# 1157 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (string) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1191 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 365 "compiler/lib/js_parser.mly"
     ( let (start, e) = _1 in (start, EDot (e, _3)) )
# 1200 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.arguments) = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 466 "compiler/lib/js_parser.mly"
   ( let (start, e) = _1 in (start, ECall(e, _2, Pi start)) )
# 1232 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.arguments) = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 468 "compiler/lib/js_parser.mly"
   ( let (start, e) = _1 in (start, ECall(e, _2, Pi start)) )
# 1264 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1303 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1309 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 470 "compiler/lib/js_parser.mly"
   ( let (start, e) = _1 in (start, EAccess(e, _3)) )
# 1318 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (string) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1352 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 472 "compiler/lib/js_parser.mly"
   ( let (start, e) = _1 in (start, EDot(e,_3)) )
# 1361 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let y : (Javascript.statement_list) = Obj.magic y in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1401 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.expression) = Obj.magic x in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1407 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_y_ in
        let _v =
          let pair = 
# 180 "<standard.mly>"
    ( (x, y) )
# 1416 "compiler/lib/js_parser.ml"
           in
          (
# 292 "compiler/lib/js_parser.mly"
                                                               ( pair )
# 1421 "compiler/lib/js_parser.ml"
           : (Javascript.case_clause))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = item;
              MenhirLib.EngineTypes.startp = _startpos_item_;
              MenhirLib.EngineTypes.endp = _endpos_item_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1_inlined1;
                MenhirLib.EngineTypes.startp = _startpos__1_inlined1_;
                MenhirLib.EngineTypes.endp = _endpos__1_inlined1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = _1;
                  MenhirLib.EngineTypes.startp = _startpos__1_;
                  MenhirLib.EngineTypes.endp = _endpos__1_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let y : (Javascript.statement_list) = Obj.magic y in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1468 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let item : (Javascript.ident) = Obj.magic item in
        let _1_inlined1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1474 "compiler/lib/js_parser.ml"
         = Obj.magic _1_inlined1 in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1479 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_y_ in
        let _v =
          let pair =
            let x = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 1489 "compiler/lib/js_parser.ml"
             in
            
# 172 "<standard.mly>"
    ( (x, y) )
# 1494 "compiler/lib/js_parser.ml"
            
          in
          (
# 282 "compiler/lib/js_parser.mly"
                                                     ( pair )
# 1500 "compiler/lib/js_parser.ml"
           : (Javascript.ident * Javascript.statement_list))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 331 "compiler/lib/js_parser.mly"
                      ( _1 )
# 1526 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 332 "compiler/lib/js_parser.mly"
                                                      ( _1 )
# 1551 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 411 "compiler/lib/js_parser.mly"
                            ( _1 )
# 1576 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 412 "compiler/lib/js_parser.mly"
                                                                  ( _1 )
# 1601 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 435 "compiler/lib/js_parser.mly"
                                   ( _1 )
# 1626 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 436 "compiler/lib/js_parser.mly"
                                                                   ( _1 )
# 1651 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : ((Javascript.Label.t * Parse_info.t) option) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1679 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 253 "compiler/lib/js_parser.mly"
                        ( (Continue_statement (Stdlib.Option.map ~f:fst _2),Pi pi) )
# 1687 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = pi2;
          MenhirLib.EngineTypes.startp = _startpos_pi2_;
          MenhirLib.EngineTypes.endp = _endpos_pi2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi1;
              MenhirLib.EngineTypes.startp = _startpos_pi1_;
              MenhirLib.EngineTypes.endp = _endpos_pi1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let pi2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1720 "compiler/lib/js_parser.ml"
         = Obj.magic pi2 in
        let x : (unit) = Obj.magic x in
        let pi1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1726 "compiler/lib/js_parser.ml"
         = Obj.magic pi1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi1_ in
        let _endpos = _endpos_pi2_ in
        let _v : (unit * Parse_info.t * Parse_info.t) = 
# 624 "compiler/lib/js_parser.mly"
                                 ( (x, pi1, pi2) )
# 1734 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = pi2;
          MenhirLib.EngineTypes.startp = _startpos_pi2_;
          MenhirLib.EngineTypes.endp = _endpos_pi2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi1;
              MenhirLib.EngineTypes.startp = _startpos_pi1_;
              MenhirLib.EngineTypes.endp = _endpos_pi1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let pi2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1767 "compiler/lib/js_parser.ml"
         = Obj.magic pi2 in
        let x : (Javascript.source_elements) = Obj.magic x in
        let pi1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1773 "compiler/lib/js_parser.ml"
         = Obj.magic pi1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi1_ in
        let _endpos = _endpos_pi2_ in
        let _v : (Javascript.source_elements * Parse_info.t * Parse_info.t) = 
# 624 "compiler/lib/js_parser.mly"
                                 ( (x, pi1, pi2) )
# 1781 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = pi2;
          MenhirLib.EngineTypes.startp = _startpos_pi2_;
          MenhirLib.EngineTypes.endp = _endpos_pi2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi1;
              MenhirLib.EngineTypes.startp = _startpos_pi1_;
              MenhirLib.EngineTypes.endp = _endpos_pi1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let pi2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1814 "compiler/lib/js_parser.ml"
         = Obj.magic pi2 in
        let x : (Javascript.statement_list) = Obj.magic x in
        let pi1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1820 "compiler/lib/js_parser.ml"
         = Obj.magic pi1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi1_ in
        let _endpos = _endpos_pi2_ in
        let _v : (Javascript.statement_list * Parse_info.t * Parse_info.t) = 
# 624 "compiler/lib/js_parser.mly"
                                 ( (x, pi1, pi2) )
# 1828 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = pi2;
          MenhirLib.EngineTypes.startp = _startpos_pi2_;
          MenhirLib.EngineTypes.endp = _endpos_pi2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi1;
              MenhirLib.EngineTypes.startp = _startpos_pi1_;
              MenhirLib.EngineTypes.endp = _endpos_pi1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let pi2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1861 "compiler/lib/js_parser.ml"
         = Obj.magic pi2 in
        let x : (Javascript.property_name_and_value_list) = Obj.magic x in
        let pi1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1867 "compiler/lib/js_parser.ml"
         = Obj.magic pi1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi1_ in
        let _endpos = _endpos_pi2_ in
        let _v : (Javascript.property_name_and_value_list * Parse_info.t * Parse_info.t) = 
# 624 "compiler/lib/js_parser.mly"
                                 ( (x, pi1, pi2) )
# 1875 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1896 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 211 "compiler/lib/js_parser.mly"
                 ( Debugger_statement, Pi pi )
# 1904 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let list : (Javascript.statement_list) = Obj.magic list in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1938 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 1943 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_list_ in
        let _v : (Javascript.statement_list) = 
# 295 "compiler/lib/js_parser.mly"
                                     ( list )
# 1951 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3_inlined1;
          MenhirLib.EngineTypes.startp = _startpos__3_inlined1_;
          MenhirLib.EngineTypes.endp = _endpos__3_inlined1_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = item;
            MenhirLib.EngineTypes.startp = _startpos_item_;
            MenhirLib.EngineTypes.endp = _endpos_item_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _3;
                MenhirLib.EngineTypes.startp = _startpos__3_;
                MenhirLib.EngineTypes.endp = _endpos__3_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = body;
                  MenhirLib.EngineTypes.startp = _startpos_body_;
                  MenhirLib.EngineTypes.endp = _endpos_body_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _menhir_s;
                    MenhirLib.EngineTypes.semv = pi;
                    MenhirLib.EngineTypes.startp = _startpos_pi_;
                    MenhirLib.EngineTypes.endp = _endpos_pi_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let _3_inlined1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2002 "compiler/lib/js_parser.ml"
         = Obj.magic _3_inlined1 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2008 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _3 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2013 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let body : (Javascript.statement * Javascript.location) = Obj.magic body in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2019 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__3_inlined1_ in
        let _v =
          let condition = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 2028 "compiler/lib/js_parser.ml"
           in
          (
# 224 "compiler/lib/js_parser.mly"
    ( (Do_while_statement (body, condition), Pi pi) )
# 2033 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2055 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t) = 
# 693 "compiler/lib/js_parser.mly"
                ( _1 )
# 2063 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 98 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2084 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t) = 
# 693 "compiler/lib/js_parser.mly"
                           ( _1 )
# 2092 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression option list) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.element_list) = 
# 526 "compiler/lib/js_parser.mly"
                    ( List.rev _1 )
# 2117 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.expression) = Obj.magic _2 in
        let _1 : (Javascript.element_list) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.expression option list) = 
# 529 "compiler/lib/js_parser.mly"
                                    ( (Some _2)::_1 )
# 2149 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression option list) = 
# 530 "compiler/lib/js_parser.mly"
                                    ( [Some _1] )
# 2174 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : (Javascript.element_list) = Obj.magic _2 in
        let _1 : (Javascript.expression option list) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression option list) = 
# 531 "compiler/lib/js_parser.mly"
                                                 ( (Some _3) :: (List.rev_append _2 _1) )
# 2213 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.element_list) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.element_list) = 
# 620 "compiler/lib/js_parser.mly"
                   (_1)
# 2238 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2259 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.element_list) = 
# 617 "compiler/lib/js_parser.mly"
           ( [] )
# 2267 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2294 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Javascript.element_list) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.element_list) = 
# 618 "compiler/lib/js_parser.mly"
                  ( None :: _1 )
# 2303 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (unit) = 
# 695 "compiler/lib/js_parser.mly"
       ()
# 2321 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2342 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 208 "compiler/lib/js_parser.mly"
                  ( Empty_statement, Pi pi )
# 2350 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 318 "compiler/lib/js_parser.mly"
                         ( _1 )
# 2375 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2409 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 319 "compiler/lib/js_parser.mly"
                                            ( ESeq (_1, _3) )
# 2418 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 402 "compiler/lib/js_parser.mly"
                               ( _1 )
# 2443 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2477 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 403 "compiler/lib/js_parser.mly"
                                                        ( ESeq (_1, _3) )
# 2486 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 426 "compiler/lib/js_parser.mly"
                                      ( _1 )
# 2511 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.expression) = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2545 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.expression) = 
# 427 "compiler/lib/js_parser.mly"
                                                         ( ESeq(_1,_3) )
# 2554 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 214 "compiler/lib/js_parser.mly"
                           ( Expression_statement _1, N )
# 2579 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.statement_list) = Obj.magic _2 in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2607 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement_list) = 
# 285 "compiler/lib/js_parser.mly"
                   ( _2 )
# 2615 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = body;
          MenhirLib.EngineTypes.startp = _startpos_body_;
          MenhirLib.EngineTypes.endp = _endpos_body_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _6;
            MenhirLib.EngineTypes.startp = _startpos__6_;
            MenhirLib.EngineTypes.endp = _endpos__6_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = right;
              MenhirLib.EngineTypes.startp = _startpos_right_;
              MenhirLib.EngineTypes.endp = _endpos_right_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _4;
                MenhirLib.EngineTypes.startp = _startpos__4_;
                MenhirLib.EngineTypes.endp = _endpos__4_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = left;
                  MenhirLib.EngineTypes.startp = _startpos_left_;
                  MenhirLib.EngineTypes.endp = _endpos_left_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = _2;
                    MenhirLib.EngineTypes.startp = _startpos__2_;
                    MenhirLib.EngineTypes.endp = _endpos__2_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _menhir_s;
                      MenhirLib.EngineTypes.semv = pi;
                      MenhirLib.EngineTypes.startp = _startpos_pi_;
                      MenhirLib.EngineTypes.endp = _endpos_pi_;
                      MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let body : (Javascript.statement * Javascript.location) = Obj.magic body in
        let _6 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2673 "compiler/lib/js_parser.ml"
         = Obj.magic _6 in
        let right : (Javascript.expression) = Obj.magic right in
        let _4 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2679 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let left : (Javascript.expression) = Obj.magic left in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2685 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2690 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_body_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 244 "compiler/lib/js_parser.mly"
   ( ForIn_statement (Left left, right, body), Pi pi )
# 2698 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = body;
          MenhirLib.EngineTypes.startp = _startpos_body_;
          MenhirLib.EngineTypes.endp = _endpos_body_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _7;
            MenhirLib.EngineTypes.startp = _startpos__7_;
            MenhirLib.EngineTypes.endp = _endpos__7_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = right;
              MenhirLib.EngineTypes.startp = _startpos_right_;
              MenhirLib.EngineTypes.endp = _endpos_right_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _5;
                MenhirLib.EngineTypes.startp = _startpos__5_;
                MenhirLib.EngineTypes.endp = _endpos__5_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = y;
                  MenhirLib.EngineTypes.startp = _startpos_y_;
                  MenhirLib.EngineTypes.endp = _endpos_y_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = x;
                    MenhirLib.EngineTypes.startp = _startpos_x_;
                    MenhirLib.EngineTypes.endp = _endpos_x_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _;
                      MenhirLib.EngineTypes.semv = _3;
                      MenhirLib.EngineTypes.startp = _startpos__3_;
                      MenhirLib.EngineTypes.endp = _endpos__3_;
                      MenhirLib.EngineTypes.next = {
                        MenhirLib.EngineTypes.state = _;
                        MenhirLib.EngineTypes.semv = _2;
                        MenhirLib.EngineTypes.startp = _startpos__2_;
                        MenhirLib.EngineTypes.endp = _endpos__2_;
                        MenhirLib.EngineTypes.next = {
                          MenhirLib.EngineTypes.state = _menhir_s;
                          MenhirLib.EngineTypes.semv = pi;
                          MenhirLib.EngineTypes.startp = _startpos_pi_;
                          MenhirLib.EngineTypes.endp = _endpos_pi_;
                          MenhirLib.EngineTypes.next = _menhir_stack;
                        };
                      };
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let body : (Javascript.statement * Javascript.location) = Obj.magic body in
        let _7 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2768 "compiler/lib/js_parser.ml"
         = Obj.magic _7 in
        let right : (Javascript.expression) = Obj.magic right in
        let _5 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2774 "compiler/lib/js_parser.ml"
         = Obj.magic _5 in
        let y : (Javascript.initialiser option) = Obj.magic y in
        let x : (Javascript.ident) = Obj.magic x in
        let _3 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2781 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2786 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2791 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_body_ in
        let _v =
          let left = 
# 172 "<standard.mly>"
    ( (x, y) )
# 2800 "compiler/lib/js_parser.ml"
           in
          (
# 247 "compiler/lib/js_parser.mly"
   ( ForIn_statement (Right left, right, body), Pi pi )
# 2805 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = statement;
          MenhirLib.EngineTypes.startp = _startpos_statement_;
          MenhirLib.EngineTypes.endp = _endpos_statement_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _8;
            MenhirLib.EngineTypes.startp = _startpos__8_;
            MenhirLib.EngineTypes.endp = _endpos__8_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = increment;
              MenhirLib.EngineTypes.startp = _startpos_increment_;
              MenhirLib.EngineTypes.endp = _endpos_increment_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _6;
                MenhirLib.EngineTypes.startp = _startpos__6_;
                MenhirLib.EngineTypes.endp = _endpos__6_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = condition;
                  MenhirLib.EngineTypes.startp = _startpos_condition_;
                  MenhirLib.EngineTypes.endp = _endpos_condition_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = _4;
                    MenhirLib.EngineTypes.startp = _startpos__4_;
                    MenhirLib.EngineTypes.endp = _endpos__4_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _;
                      MenhirLib.EngineTypes.semv = initial;
                      MenhirLib.EngineTypes.startp = _startpos_initial_;
                      MenhirLib.EngineTypes.endp = _endpos_initial_;
                      MenhirLib.EngineTypes.next = {
                        MenhirLib.EngineTypes.state = _;
                        MenhirLib.EngineTypes.semv = _2;
                        MenhirLib.EngineTypes.startp = _startpos__2_;
                        MenhirLib.EngineTypes.endp = _endpos__2_;
                        MenhirLib.EngineTypes.next = {
                          MenhirLib.EngineTypes.state = _menhir_s;
                          MenhirLib.EngineTypes.semv = pi;
                          MenhirLib.EngineTypes.startp = _startpos_pi_;
                          MenhirLib.EngineTypes.endp = _endpos_pi_;
                          MenhirLib.EngineTypes.next = _menhir_stack;
                        };
                      };
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let statement : (Javascript.statement * Javascript.location) = Obj.magic statement in
        let _8 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2876 "compiler/lib/js_parser.ml"
         = Obj.magic _8 in
        let increment : (Javascript.expression option) = Obj.magic increment in
        let _6 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2882 "compiler/lib/js_parser.ml"
         = Obj.magic _6 in
        let condition : (Javascript.expression option) = Obj.magic condition in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2888 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let initial : (Javascript.expression option) = Obj.magic initial in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2894 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2899 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_statement_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 234 "compiler/lib/js_parser.mly"
   ( For_statement (Left initial, condition, increment, statement), Pi pi )
# 2907 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = statement;
          MenhirLib.EngineTypes.startp = _startpos_statement_;
          MenhirLib.EngineTypes.endp = _endpos_statement_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _9;
            MenhirLib.EngineTypes.startp = _startpos__9_;
            MenhirLib.EngineTypes.endp = _endpos__9_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = increment;
              MenhirLib.EngineTypes.startp = _startpos_increment_;
              MenhirLib.EngineTypes.endp = _endpos_increment_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _7;
                MenhirLib.EngineTypes.startp = _startpos__7_;
                MenhirLib.EngineTypes.endp = _endpos__7_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = condition;
                  MenhirLib.EngineTypes.startp = _startpos_condition_;
                  MenhirLib.EngineTypes.endp = _endpos_condition_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = _5;
                    MenhirLib.EngineTypes.startp = _startpos__5_;
                    MenhirLib.EngineTypes.endp = _endpos__5_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _;
                      MenhirLib.EngineTypes.semv = initial;
                      MenhirLib.EngineTypes.startp = _startpos_initial_;
                      MenhirLib.EngineTypes.endp = _endpos_initial_;
                      MenhirLib.EngineTypes.next = {
                        MenhirLib.EngineTypes.state = _;
                        MenhirLib.EngineTypes.semv = _3;
                        MenhirLib.EngineTypes.startp = _startpos__3_;
                        MenhirLib.EngineTypes.endp = _endpos__3_;
                        MenhirLib.EngineTypes.next = {
                          MenhirLib.EngineTypes.state = _;
                          MenhirLib.EngineTypes.semv = _2;
                          MenhirLib.EngineTypes.startp = _startpos__2_;
                          MenhirLib.EngineTypes.endp = _endpos__2_;
                          MenhirLib.EngineTypes.next = {
                            MenhirLib.EngineTypes.state = _menhir_s;
                            MenhirLib.EngineTypes.semv = pi;
                            MenhirLib.EngineTypes.startp = _startpos_pi_;
                            MenhirLib.EngineTypes.endp = _endpos_pi_;
                            MenhirLib.EngineTypes.next = _menhir_stack;
                          };
                        };
                      };
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let statement : (Javascript.statement * Javascript.location) = Obj.magic statement in
        let _9 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2983 "compiler/lib/js_parser.ml"
         = Obj.magic _9 in
        let increment : (Javascript.expression option) = Obj.magic increment in
        let _7 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2989 "compiler/lib/js_parser.ml"
         = Obj.magic _7 in
        let condition : (Javascript.expression option) = Obj.magic condition in
        let _5 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 2995 "compiler/lib/js_parser.ml"
         = Obj.magic _5 in
        let initial : (Javascript.variable_declaration list) = Obj.magic initial in
        let _3 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3001 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3006 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3011 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_statement_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 239 "compiler/lib/js_parser.mly"
   ( For_statement (Right initial, condition, increment, statement), Pi pi )
# 3019 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = xs;
              MenhirLib.EngineTypes.startp = _startpos_xs_;
              MenhirLib.EngineTypes.endp = _endpos_xs_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = name;
                  MenhirLib.EngineTypes.startp = _startpos_name_;
                  MenhirLib.EngineTypes.endp = _endpos_name_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _menhir_s;
                    MenhirLib.EngineTypes.semv = pi;
                    MenhirLib.EngineTypes.startp = _startpos_pi_;
                    MenhirLib.EngineTypes.endp = _endpos_pi_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let block : (Javascript.source_elements * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3071 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let xs : (Javascript.formal_parameter_list) = Obj.magic xs in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3077 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let name : (Javascript.ident) = Obj.magic name in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3083 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_block_ in
        let _v =
          let args =
            let item = 
# 241 "<standard.mly>"
    ( xs )
# 3093 "compiler/lib/js_parser.ml"
             in
            
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 3098 "compiler/lib/js_parser.ml"
            
          in
          (
# 304 "compiler/lib/js_parser.mly"
   ( let elements, _pi_start, pi_end = block in
     (name, args, elements, Pi pi_end), Pi pi )
# 3105 "compiler/lib/js_parser.ml"
           : (Javascript.function_declaration * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = xs;
              MenhirLib.EngineTypes.startp = _startpos_xs_;
              MenhirLib.EngineTypes.endp = _endpos_xs_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = name;
                  MenhirLib.EngineTypes.startp = _startpos_name_;
                  MenhirLib.EngineTypes.endp = _endpos_name_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _menhir_s;
                    MenhirLib.EngineTypes.semv = pi;
                    MenhirLib.EngineTypes.startp = _startpos_pi_;
                    MenhirLib.EngineTypes.endp = _endpos_pi_;
                    MenhirLib.EngineTypes.next = _menhir_stack;
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let block : (Javascript.source_elements * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3158 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let xs : (Javascript.formal_parameter_list) = Obj.magic xs in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3164 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let name : (Javascript.ident option) = Obj.magic name in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3170 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_block_ in
        let _v =
          let args =
            let item = 
# 241 "<standard.mly>"
    ( xs )
# 3180 "compiler/lib/js_parser.ml"
             in
            
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 3185 "compiler/lib/js_parser.ml"
            
          in
          (
# 310 "compiler/lib/js_parser.mly"
   ( let elements, _pi_start, _pi_end = block in
     pi, EFun (name, args, elements, Pi pi) )
# 3192 "compiler/lib/js_parser.ml"
           : (Parse_info.t * Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 48 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 3214 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 566 "compiler/lib/js_parser.mly"
                  ( fst _1 )
# 3222 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3243 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 567 "compiler/lib/js_parser.mly"
             ( "catch" )
# 3251 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3272 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 568 "compiler/lib/js_parser.mly"
               ( "finally" )
# 3280 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3301 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 569 "compiler/lib/js_parser.mly"
          ( "in" )
# 3309 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3330 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 570 "compiler/lib/js_parser.mly"
                  ( "instanceof" )
# 3338 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 59 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3359 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 571 "compiler/lib/js_parser.mly"
            ( "else" )
# 3367 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3388 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 572 "compiler/lib/js_parser.mly"
             ( "break" )
# 3396 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3417 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 573 "compiler/lib/js_parser.mly"
            ( "case" )
# 3425 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3446 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 574 "compiler/lib/js_parser.mly"
                ( "continue" )
# 3454 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3475 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 575 "compiler/lib/js_parser.mly"
               ( "default" )
# 3483 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3504 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 576 "compiler/lib/js_parser.mly"
              ( "delete" )
# 3512 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3533 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 577 "compiler/lib/js_parser.mly"
          ( "do" )
# 3541 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3562 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 578 "compiler/lib/js_parser.mly"
           ( "for" )
# 3570 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3591 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 579 "compiler/lib/js_parser.mly"
                ( "function" )
# 3599 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3620 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 580 "compiler/lib/js_parser.mly"
          ( "if" )
# 3628 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3649 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 581 "compiler/lib/js_parser.mly"
           ( "new" )
# 3657 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3678 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 582 "compiler/lib/js_parser.mly"
              ( "return" )
# 3686 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3707 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 583 "compiler/lib/js_parser.mly"
              ( "switch" )
# 3715 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3736 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 584 "compiler/lib/js_parser.mly"
            ( "this" )
# 3744 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3765 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 585 "compiler/lib/js_parser.mly"
             ( "throw" )
# 3773 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3794 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 586 "compiler/lib/js_parser.mly"
           ( "try" )
# 3802 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3823 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 587 "compiler/lib/js_parser.mly"
              ( "typeof" )
# 3831 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3852 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 588 "compiler/lib/js_parser.mly"
           ( "var" )
# 3860 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3881 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 589 "compiler/lib/js_parser.mly"
            ( "void" )
# 3889 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3910 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 590 "compiler/lib/js_parser.mly"
             ( "while" )
# 3918 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3939 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 591 "compiler/lib/js_parser.mly"
            ( "with" )
# 3947 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3968 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 592 "compiler/lib/js_parser.mly"
            ( "null" )
# 3976 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 3997 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 593 "compiler/lib/js_parser.mly"
             ( "false" )
# 4005 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4026 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 594 "compiler/lib/js_parser.mly"
            ( "true" )
# 4034 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4055 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (string) = 
# 595 "compiler/lib/js_parser.mly"
                ( "debugger" )
# 4063 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _4;
            MenhirLib.EngineTypes.startp = _startpos__4_;
            MenhirLib.EngineTypes.endp = _endpos__4_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = t;
              MenhirLib.EngineTypes.startp = _startpos_t_;
              MenhirLib.EngineTypes.endp = _endpos_t_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _3;
                MenhirLib.EngineTypes.startp = _startpos__3_;
                MenhirLib.EngineTypes.endp = _endpos__3_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = item;
                  MenhirLib.EngineTypes.startp = _startpos_item_;
                  MenhirLib.EngineTypes.endp = _endpos_item_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = _1;
                    MenhirLib.EngineTypes.startp = _startpos__1_;
                    MenhirLib.EngineTypes.endp = _endpos__1_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _menhir_s;
                      MenhirLib.EngineTypes.semv = pi;
                      MenhirLib.EngineTypes.startp = _startpos_pi_;
                      MenhirLib.EngineTypes.endp = _endpos_pi_;
                      MenhirLib.EngineTypes.next = _menhir_stack;
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let e : (Javascript.statement * Javascript.location) = Obj.magic e in
        let _4 : 
# 59 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4121 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let t : (Javascript.statement * Javascript.location) = Obj.magic t in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4127 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4133 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4138 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_e_ in
        let _v =
          let condition = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 4147 "compiler/lib/js_parser.ml"
           in
          (
# 218 "compiler/lib/js_parser.mly"
     ( (If_statement (condition, t, Some e), Pi pi) )
# 4152 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = t;
          MenhirLib.EngineTypes.startp = _startpos_t_;
          MenhirLib.EngineTypes.endp = _endpos_t_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = item;
              MenhirLib.EngineTypes.startp = _startpos_item_;
              MenhirLib.EngineTypes.endp = _endpos_item_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = pi;
                  MenhirLib.EngineTypes.startp = _startpos_pi_;
                  MenhirLib.EngineTypes.endp = _endpos_pi_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let t : (Javascript.statement * Javascript.location) = Obj.magic t in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4199 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4205 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4210 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_t_ in
        let _v =
          let condition = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 4219 "compiler/lib/js_parser.ml"
           in
          (
# 220 "compiler/lib/js_parser.mly"
     ( (If_statement (condition, t, None), Pi pi) )
# 4224 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let pi : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4253 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_e_ in
        let _v : (Javascript.initialiser) = 
# 205 "compiler/lib/js_parser.mly"
                                       ( e, Pi pi )
# 4261 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.expression) = Obj.magic _2 in
        let _1 : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4289 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.initialiser) = 
# 250 "compiler/lib/js_parser.mly"
                                        ( _2, Pi _1 )
# 4297 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 48 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 4318 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.Label.t * Parse_info.t) = 
# 604 "compiler/lib/js_parser.mly"
                ( Label.of_string (fst _1), snd _1 )
# 4326 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = l;
              MenhirLib.EngineTypes.startp = _startpos_l_;
              MenhirLib.EngineTypes.endp = _endpos_l_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4360 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let l : (Javascript.Label.t * Parse_info.t) = Obj.magic l in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_l_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 194 "compiler/lib/js_parser.mly"
                              ( Labelled_statement (fst l, s), Pi (snd l))
# 4369 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 327 "compiler/lib/js_parser.mly"
                   ( snd _1 )
# 4394 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 328 "compiler/lib/js_parser.mly"
                   ( snd _1 )
# 4419 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 457 "compiler/lib/js_parser.mly"
                               ( snd _1 )
# 4444 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 458 "compiler/lib/js_parser.mly"
                                ( snd _1 )
# 4469 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Js_token.Annot.t list) = 
# 216 "<standard.mly>"
    ( [] )
# 4487 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let xs : (Js_token.Annot.t list) = Obj.magic xs in
        let x : (Js_token.Annot.t) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Js_token.Annot.t list) = 
# 219 "<standard.mly>"
    ( x :: xs )
# 4519 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.case_clause list) = 
# 216 "<standard.mly>"
    ( [] )
# 4537 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let xs : (Javascript.case_clause list) = Obj.magic xs in
        let x : (Javascript.case_clause) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.case_clause list) = 
# 219 "<standard.mly>"
    ( x :: xs )
# 4569 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.source_elements) = 
# 216 "<standard.mly>"
    ( [] )
# 4587 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let xs : (Javascript.source_elements) = Obj.magic xs in
        let x : (Javascript.source_element * Javascript.location) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.source_elements) = 
# 219 "<standard.mly>"
    ( x :: xs )
# 4619 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.program_with_annots) = 
# 216 "<standard.mly>"
    ( [] )
# 4637 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let xs : (Javascript.program_with_annots) = Obj.magic xs in
        let x : ((Javascript.source_element * Javascript.location) * Js_token.Annot.t list) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.program_with_annots) = 
# 219 "<standard.mly>"
    ( x :: xs )
# 4669 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.statement_list) = 
# 216 "<standard.mly>"
    ( [] )
# 4687 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let xs : (Javascript.statement_list) = Obj.magic xs in
        let x : (Javascript.statement * Javascript.location) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.statement_list) = 
# 219 "<standard.mly>"
    ( x :: xs )
# 4719 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.arguments) = 
# 145 "<standard.mly>"
    ( [] )
# 4737 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.arguments) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.arguments) = 
# 148 "<standard.mly>"
    ( x )
# 4762 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.formal_parameter_list) = 
# 145 "<standard.mly>"
    ( [] )
# 4780 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.formal_parameter_list) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.formal_parameter_list) = 
# 148 "<standard.mly>"
    ( x )
# 4805 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_e_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 373 "compiler/lib/js_parser.mly"
     ( e )
# 4830 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = e2;
            MenhirLib.EngineTypes.startp = _startpos_e2_;
            MenhirLib.EngineTypes.endp = _endpos_e2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4869 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let e2 : (Javascript.expression) = Obj.magic e2 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4875 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 375 "compiler/lib/js_parser.mly"
     ( let (start, e1) = _1 in (start, EAccess (e1,e2)) )
# 4884 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let i : (string) = Obj.magic i in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4918 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 377 "compiler/lib/js_parser.mly"
     ( let (start, e1) = _1 in (start, EDot(e1,i)) )
# 4927 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = e1;
            MenhirLib.EngineTypes.startp = _startpos_e1_;
            MenhirLib.EngineTypes.endp = _endpos_e1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let a : (Javascript.arguments) = Obj.magic a in
        let e1 : (Parse_info.t * Javascript.expression) = Obj.magic e1 in
        let pi : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 4962 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_a_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 379 "compiler/lib/js_parser.mly"
     ( (pi, ENew(snd e1, Some a)) )
# 4970 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_e_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 476 "compiler/lib/js_parser.mly"
   ( e )
# 4995 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = e2;
            MenhirLib.EngineTypes.startp = _startpos_e2_;
            MenhirLib.EngineTypes.endp = _endpos_e2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5034 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let e2 : (Javascript.expression) = Obj.magic e2 in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5040 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 478 "compiler/lib/js_parser.mly"
   ( let (start, e1) = _1 in (start, EAccess(e1, e2)) )
# 5049 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = _1;
              MenhirLib.EngineTypes.startp = _startpos__1_;
              MenhirLib.EngineTypes.endp = _endpos__1_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let i : (string) = Obj.magic i in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5083 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_i_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 480 "compiler/lib/js_parser.mly"
   ( let (start, e1) = _1 in (start, EDot(e1,i)) )
# 5092 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let a : (Javascript.arguments) = Obj.magic a in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let pi : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5127 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_a_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 482 "compiler/lib/js_parser.mly"
   ( (pi, ENew(snd e,Some a)) )
# 5135 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 368 "compiler/lib/js_parser.mly"
                        ( _1 )
# 5160 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Parse_info.t * Javascript.expression) = Obj.magic _2 in
        let pi : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5188 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 369 "compiler/lib/js_parser.mly"
                           ( (pi, ENew (snd _2,None)) )
# 5196 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 461 "compiler/lib/js_parser.mly"
                                  ( _1 )
# 5221 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Parse_info.t * Javascript.expression) = Obj.magic _2 in
        let pi : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5249 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 462 "compiler/lib/js_parser.mly"
                           ( (pi, ENew (snd _2,None)) )
# 5257 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5278 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 489 "compiler/lib/js_parser.mly"
             ( (pi, EVar (var pi "null")) )
# 5286 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 47 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 5307 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * string) = 
# 496 "compiler/lib/js_parser.mly"
            ( let (f, pi) = _1 in (pi, f) )
# 5315 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let y : (Javascript.expression) = Obj.magic y in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5349 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.property_name) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_y_ in
        let _v =
          let pair = 
# 180 "<standard.mly>"
    ( (x, y) )
# 5359 "compiler/lib/js_parser.ml"
           in
          (
# 540 "compiler/lib/js_parser.mly"
                                                                      ( pair )
# 5364 "compiler/lib/js_parser.ml"
           : (Javascript.property_name * Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let block : (unit * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_block_ in
        let _endpos = _endpos_block_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 535 "compiler/lib/js_parser.mly"
   ( let _pairs, pi_start, _pi_end = block in pi_start, EObj [] )
# 5390 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let block : (Javascript.property_name_and_value_list * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_block_ in
        let _endpos = _endpos_block_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 537 "compiler/lib/js_parser.mly"
   ( let pairs, pi_start, _pi_end = block in pi_start, EObj pairs )
# 5415 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.expression option) = 
# 111 "<standard.mly>"
    ( None )
# 5433 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.expression) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.expression option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5458 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.expression option) = 
# 111 "<standard.mly>"
    ( None )
# 5476 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.expression) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.expression option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5501 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.statement_list option) = 
# 111 "<standard.mly>"
    ( None )
# 5519 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.statement_list) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.statement_list option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5544 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.initialiser option) = 
# 111 "<standard.mly>"
    ( None )
# 5562 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.initialiser) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.initialiser option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5587 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.initialiser option) = 
# 111 "<standard.mly>"
    ( None )
# 5605 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.initialiser) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.initialiser option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5630 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : ((Javascript.Label.t * Parse_info.t) option) = 
# 111 "<standard.mly>"
    ( None )
# 5648 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.Label.t * Parse_info.t) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : ((Javascript.Label.t * Parse_info.t) option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5673 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : ((Javascript.statement_list * Javascript.case_clause list) option) = 
# 111 "<standard.mly>"
    ( None )
# 5691 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let y : (Javascript.case_clause list) = Obj.magic y in
        let x : (Javascript.statement_list) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_y_ in
        let _v =
          let x = 
# 172 "<standard.mly>"
    ( (x, y) )
# 5724 "compiler/lib/js_parser.ml"
           in
          (
# 114 "<standard.mly>"
    ( Some x )
# 5729 "compiler/lib/js_parser.ml"
           : ((Javascript.statement_list * Javascript.case_clause list) option))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _endpos = _startpos in
        let _v : (Javascript.ident option) = 
# 111 "<standard.mly>"
    ( None )
# 5748 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.ident option) = 
# 114 "<standard.mly>"
    ( Some x )
# 5773 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 340 "compiler/lib/js_parser.mly"
                     ( _1 )
# 5798 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5832 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 631 "compiler/lib/js_parser.mly"
                        ( Lt         )
# 5843 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 5848 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 5854 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5889 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 632 "compiler/lib/js_parser.mly"
                        ( Gt         )
# 5900 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 5905 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 5911 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 5946 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 633 "compiler/lib/js_parser.mly"
                        ( Le         )
# 5957 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 5962 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 5968 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6003 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 634 "compiler/lib/js_parser.mly"
                        ( Ge         )
# 6014 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6019 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6025 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6060 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 635 "compiler/lib/js_parser.mly"
                        ( InstanceOf )
# 6071 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6076 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6082 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6117 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 636 "compiler/lib/js_parser.mly"
                        ( EqEq       )
# 6128 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6133 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6139 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6174 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 637 "compiler/lib/js_parser.mly"
                        ( NotEq      )
# 6185 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6190 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6196 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6231 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 638 "compiler/lib/js_parser.mly"
                        ( EqEqEq     )
# 6242 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6247 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6253 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6288 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 639 "compiler/lib/js_parser.mly"
                        ( NotEqEq    )
# 6299 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6304 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6310 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6345 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 640 "compiler/lib/js_parser.mly"
                        ( Band       )
# 6356 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6361 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6367 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6402 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 641 "compiler/lib/js_parser.mly"
                        ( Bxor       )
# 6413 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6418 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6424 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6459 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 642 "compiler/lib/js_parser.mly"
                        ( Bor        )
# 6470 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6475 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6481 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6516 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 643 "compiler/lib/js_parser.mly"
                        ( And        )
# 6527 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6532 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6538 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6573 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 644 "compiler/lib/js_parser.mly"
                        ( Or         )
# 6584 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 6589 "compiler/lib/js_parser.ml"
            
          in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6595 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6630 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 648 "compiler/lib/js_parser.mly"
        ( In )
# 6640 "compiler/lib/js_parser.ml"
           in
          (
# 344 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6645 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 415 "compiler/lib/js_parser.mly"
                     ( _1 )
# 6671 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6705 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 631 "compiler/lib/js_parser.mly"
                        ( Lt         )
# 6715 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6720 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6755 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 632 "compiler/lib/js_parser.mly"
                        ( Gt         )
# 6765 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6770 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6805 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 633 "compiler/lib/js_parser.mly"
                        ( Le         )
# 6815 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6820 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6855 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 634 "compiler/lib/js_parser.mly"
                        ( Ge         )
# 6865 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6870 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6905 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 635 "compiler/lib/js_parser.mly"
                        ( InstanceOf )
# 6915 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6920 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 6955 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 636 "compiler/lib/js_parser.mly"
                        ( EqEq       )
# 6965 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 6970 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7005 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 637 "compiler/lib/js_parser.mly"
                        ( NotEq      )
# 7015 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7020 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7055 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 638 "compiler/lib/js_parser.mly"
                        ( EqEqEq     )
# 7065 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7070 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7105 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 639 "compiler/lib/js_parser.mly"
                        ( NotEqEq    )
# 7115 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7120 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7155 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 640 "compiler/lib/js_parser.mly"
                        ( Band       )
# 7165 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7170 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7205 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 641 "compiler/lib/js_parser.mly"
                        ( Bxor       )
# 7215 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7220 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7255 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 642 "compiler/lib/js_parser.mly"
                        ( Bor        )
# 7265 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7270 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7305 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 643 "compiler/lib/js_parser.mly"
                        ( And        )
# 7315 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7320 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7355 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 644 "compiler/lib/js_parser.mly"
                        ( Or         )
# 7365 "compiler/lib/js_parser.ml"
           in
          (
# 419 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7370 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 439 "compiler/lib/js_parser.mly"
                                  ( _1 )
# 7396 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7430 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 631 "compiler/lib/js_parser.mly"
                        ( Lt         )
# 7441 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7446 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7452 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7487 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 632 "compiler/lib/js_parser.mly"
                        ( Gt         )
# 7498 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7503 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7509 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7544 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 633 "compiler/lib/js_parser.mly"
                        ( Le         )
# 7555 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7560 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7566 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7601 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 634 "compiler/lib/js_parser.mly"
                        ( Ge         )
# 7612 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7617 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7623 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7658 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 635 "compiler/lib/js_parser.mly"
                        ( InstanceOf )
# 7669 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7674 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7680 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7715 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 636 "compiler/lib/js_parser.mly"
                        ( EqEq       )
# 7726 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7731 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7737 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7772 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 637 "compiler/lib/js_parser.mly"
                        ( NotEq      )
# 7783 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7788 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7794 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7829 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 638 "compiler/lib/js_parser.mly"
                        ( EqEqEq     )
# 7840 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7845 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7851 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7886 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 639 "compiler/lib/js_parser.mly"
                        ( NotEqEq    )
# 7897 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7902 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7908 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 7943 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 640 "compiler/lib/js_parser.mly"
                        ( Band       )
# 7954 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 7959 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 7965 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8000 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 641 "compiler/lib/js_parser.mly"
                        ( Bxor       )
# 8011 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 8016 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8022 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8057 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 642 "compiler/lib/js_parser.mly"
                        ( Bor        )
# 8068 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 8073 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8079 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8114 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 643 "compiler/lib/js_parser.mly"
                        ( And        )
# 8125 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 8130 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8136 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8171 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op =
            let op = 
# 644 "compiler/lib/js_parser.mly"
                        ( Or         )
# 8182 "compiler/lib/js_parser.ml"
             in
            
# 647 "compiler/lib/js_parser.mly"
                                                      ( op )
# 8187 "compiler/lib/js_parser.ml"
            
          in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8193 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8228 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 648 "compiler/lib/js_parser.mly"
        ( In )
# 8238 "compiler/lib/js_parser.ml"
           in
          (
# 443 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8243 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8265 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.unop) = 
# 674 "compiler/lib/js_parser.mly"
             ( IncrA )
# 8273 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8294 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.unop) = 
# 675 "compiler/lib/js_parser.mly"
             ( DecrA )
# 8302 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 348 "compiler/lib/js_parser.mly"
   ( _1 )
# 8327 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = op;
          MenhirLib.EngineTypes.startp = _startpos_op_;
          MenhirLib.EngineTypes.endp = _endpos_op_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let op : (Javascript.unop) = Obj.magic op in
        let e : (Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_op_ in
        let _v : (Javascript.expression) = 
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8359 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8387 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 661 "compiler/lib/js_parser.mly"
             ( Delete )
# 8396 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8401 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8430 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 662 "compiler/lib/js_parser.mly"
             ( Void   )
# 8439 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8444 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8473 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 663 "compiler/lib/js_parser.mly"
             ( Typeof )
# 8482 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8487 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8516 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 664 "compiler/lib/js_parser.mly"
             ( IncrB  )
# 8525 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8530 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8559 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 665 "compiler/lib/js_parser.mly"
             ( IncrB  )
# 8568 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8573 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8602 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 666 "compiler/lib/js_parser.mly"
             ( DecrB  )
# 8611 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8616 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8645 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 667 "compiler/lib/js_parser.mly"
             ( DecrB  )
# 8654 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8659 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8688 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 668 "compiler/lib/js_parser.mly"
             ( Pl     )
# 8697 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8702 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8731 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 669 "compiler/lib/js_parser.mly"
             ( Neg    )
# 8740 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8745 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8774 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 670 "compiler/lib/js_parser.mly"
             ( Bnot   )
# 8783 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8788 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8817 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 671 "compiler/lib/js_parser.mly"
             ( Not    )
# 8826 "compiler/lib/js_parser.ml"
           in
          (
# 351 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 8831 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8866 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 651 "compiler/lib/js_parser.mly"
             ( Mul   )
# 8876 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8881 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8916 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 652 "compiler/lib/js_parser.mly"
             ( Div   )
# 8926 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8931 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 8966 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 653 "compiler/lib/js_parser.mly"
             ( Mod   )
# 8976 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 8981 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9016 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 654 "compiler/lib/js_parser.mly"
             ( Plus  )
# 9026 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9031 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9066 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 655 "compiler/lib/js_parser.mly"
             ( Minus )
# 9076 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9081 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9116 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 656 "compiler/lib/js_parser.mly"
             ( Lsl   )
# 9126 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9131 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9166 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 657 "compiler/lib/js_parser.mly"
             ( Asr   )
# 9176 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9181 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9216 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 658 "compiler/lib/js_parser.mly"
             ( Lsr   )
# 9226 "compiler/lib/js_parser.ml"
           in
          (
# 355 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9231 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.expression) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.expression) = 
# 447 "compiler/lib/js_parser.mly"
   ( _1 )
# 9257 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = op;
          MenhirLib.EngineTypes.startp = _startpos_op_;
          MenhirLib.EngineTypes.endp = _endpos_op_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let op : (Javascript.unop) = Obj.magic op in
        let e : (Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_op_ in
        let _v : (Javascript.expression) = 
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9289 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9317 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 661 "compiler/lib/js_parser.mly"
             ( Delete )
# 9326 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9331 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9360 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 662 "compiler/lib/js_parser.mly"
             ( Void   )
# 9369 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9374 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9403 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 663 "compiler/lib/js_parser.mly"
             ( Typeof )
# 9412 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9417 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9446 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 664 "compiler/lib/js_parser.mly"
             ( IncrB  )
# 9455 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9460 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9489 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 665 "compiler/lib/js_parser.mly"
             ( IncrB  )
# 9498 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9503 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9532 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 666 "compiler/lib/js_parser.mly"
             ( DecrB  )
# 9541 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9546 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9575 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 667 "compiler/lib/js_parser.mly"
             ( DecrB  )
# 9584 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9589 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9618 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 668 "compiler/lib/js_parser.mly"
             ( Pl     )
# 9627 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9632 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9661 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 669 "compiler/lib/js_parser.mly"
             ( Neg    )
# 9670 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9675 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9704 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 670 "compiler/lib/js_parser.mly"
             ( Bnot   )
# 9713 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9718 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let e : (Javascript.expression) = Obj.magic e in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9747 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos_e_ in
        let _v =
          let op = 
# 671 "compiler/lib/js_parser.mly"
             ( Not    )
# 9756 "compiler/lib/js_parser.ml"
           in
          (
# 450 "compiler/lib/js_parser.mly"
   ( EUn (op, e) )
# 9761 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9796 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 651 "compiler/lib/js_parser.mly"
             ( Mul   )
# 9806 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9811 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9846 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 652 "compiler/lib/js_parser.mly"
             ( Div   )
# 9856 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9861 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9896 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 653 "compiler/lib/js_parser.mly"
             ( Mod   )
# 9906 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9911 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9946 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 654 "compiler/lib/js_parser.mly"
             ( Plus  )
# 9956 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 9961 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 9996 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 655 "compiler/lib/js_parser.mly"
             ( Minus )
# 10006 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 10011 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10046 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 656 "compiler/lib/js_parser.mly"
             ( Lsl   )
# 10056 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 10061 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10096 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 657 "compiler/lib/js_parser.mly"
             ( Asr   )
# 10106 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 10111 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = right;
          MenhirLib.EngineTypes.startp = _startpos_right_;
          MenhirLib.EngineTypes.endp = _endpos_right_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _1;
            MenhirLib.EngineTypes.startp = _startpos__1_;
            MenhirLib.EngineTypes.endp = _endpos__1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = left;
              MenhirLib.EngineTypes.startp = _startpos_left_;
              MenhirLib.EngineTypes.endp = _endpos_left_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let right : (Javascript.expression) = Obj.magic right in
        let _1 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10146 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let left : (Javascript.expression) = Obj.magic left in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_left_ in
        let _endpos = _endpos_right_ in
        let _v =
          let op = 
# 658 "compiler/lib/js_parser.mly"
             ( Lsr   )
# 10156 "compiler/lib/js_parser.ml"
           in
          (
# 454 "compiler/lib/js_parser.mly"
   ( EBin (op, left, right) )
# 10161 "compiler/lib/js_parser.ml"
           : (Javascript.expression))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_e_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 384 "compiler/lib/js_parser.mly"
                         ( e )
# 10187 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_e_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 384 "compiler/lib/js_parser.mly"
                         ( e )
# 10212 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = e;
          MenhirLib.EngineTypes.startp = _startpos_e_;
          MenhirLib.EngineTypes.endp = _endpos_e_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let e : (Parse_info.t * Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos_e_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 384 "compiler/lib/js_parser.mly"
                         ( e )
# 10237 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = pi;
          MenhirLib.EngineTypes.startp = _startpos_pi_;
          MenhirLib.EngineTypes.endp = _endpos_pi_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10258 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_pi_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 387 "compiler/lib/js_parser.mly"
                     ( (pi, EVar (var pi "this")) )
# 10266 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.ident * Parse_info.t) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 388 "compiler/lib/js_parser.mly"
                     ( let (i, pi) = _1 in (pi, EVar i) )
# 10291 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = n;
          MenhirLib.EngineTypes.startp = _startpos_n_;
          MenhirLib.EngineTypes.endp = _endpos_n_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let n : (Parse_info.t * Javascript.expression) = Obj.magic n in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_n_ in
        let _endpos = _endpos_n_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 389 "compiler/lib/js_parser.mly"
                     ( n )
# 10316 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = b;
          MenhirLib.EngineTypes.startp = _startpos_b_;
          MenhirLib.EngineTypes.endp = _endpos_b_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let b : (Parse_info.t * Javascript.expression) = Obj.magic b in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_b_ in
        let _endpos = _endpos_b_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 390 "compiler/lib/js_parser.mly"
                     ( b )
# 10341 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Parse_info.t * string) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 391 "compiler/lib/js_parser.mly"
                     ( let (start, n) = _1 in (start, ENum (Num.of_string_unsafe n)) )
# 10366 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 49 "compiler/lib/js_parser.mly"
      (string * Parse_info.t * int)
# 10387 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 392 "compiler/lib/js_parser.mly"
                     ( let (s, start, _len) = _1 in (start, EStr (s, `Utf8)) )
# 10395 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = r;
          MenhirLib.EngineTypes.startp = _startpos_r_;
          MenhirLib.EngineTypes.endp = _endpos_r_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let r : (Parse_info.t * Javascript.expression) = Obj.magic r in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_r_ in
        let _endpos = _endpos_r_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 393 "compiler/lib/js_parser.mly"
                                  ( r )
# 10420 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = a;
          MenhirLib.EngineTypes.startp = _startpos_a_;
          MenhirLib.EngineTypes.endp = _endpos_a_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let a : (Parse_info.t * Javascript.expression) = Obj.magic a in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_a_ in
        let _endpos = _endpos_a_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 394 "compiler/lib/js_parser.mly"
                                  ( a )
# 10445 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10478 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let e : (Javascript.expression) = Obj.magic e in
        let pi : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10484 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__3_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 395 "compiler/lib/js_parser.mly"
                                     ( (pi, e) )
# 10492 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = l;
            MenhirLib.EngineTypes.startp = _startpos_l_;
            MenhirLib.EngineTypes.endp = _endpos_l_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : 
# 106 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10519 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let l : (Javascript.program_with_annots) = Obj.magic l in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_l_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.program_with_annots) = 
# 144 "compiler/lib/js_parser.mly"
                                    ( l )
# 10528 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let i : (string) = Obj.magic i in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_i_ in
        let _v : (Javascript.property_name) = 
# 607 "compiler/lib/js_parser.mly"
                      ( PNI i )
# 10553 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : 
# 49 "compiler/lib/js_parser.mly"
      (string * Parse_info.t * int)
# 10574 "compiler/lib/js_parser.ml"
         = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.property_name) = 
# 608 "compiler/lib/js_parser.mly"
                      (
    let s, _info, _len = s in PNS s )
# 10583 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = n;
          MenhirLib.EngineTypes.startp = _startpos_n_;
          MenhirLib.EngineTypes.endp = _endpos_n_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let n : (Parse_info.t * string) = Obj.magic n in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_n_ in
        let _endpos = _endpos_n_ in
        let _v : (Javascript.property_name) = 
# 610 "compiler/lib/js_parser.mly"
                      ( PNN (Num.of_string_unsafe (snd n)) )
# 10608 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : 
# 50 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 10629 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Parse_info.t * Javascript.expression) = 
# 499 "compiler/lib/js_parser.mly"
           (
   let (s, pi) = _1 in
   let len = String.length s in
   let regexp, option =
     if s.[len - 1] = '/'
     then String.sub s 1 (len - 2),None
     else
       let i = String.rindex s '/' in
       String.sub s 1 (i - 1),Some (String.sub s (i+1) (len - i - 1))
   in
   (pi, ERegexp (regexp, option)) )
# 10647 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.expression option) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10675 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 259 "compiler/lib/js_parser.mly"
                           ( (Return_statement _2, Pi pi) )
# 10683 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.expression * Javascript.spread) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.arguments) = 
# 250 "<standard.mly>"
    ( [ x ] )
# 10708 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let xs : (Javascript.arguments) = Obj.magic xs in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10742 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.expression * Javascript.spread) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.arguments) = 
# 253 "<standard.mly>"
    ( x :: xs )
# 10751 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let y : (Javascript.initialiser option) = Obj.magic y in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_y_ in
        let _v =
          let x = 
# 172 "<standard.mly>"
    ( (x, y) )
# 10784 "compiler/lib/js_parser.ml"
           in
          (
# 250 "<standard.mly>"
    ( [ x ] )
# 10789 "compiler/lib/js_parser.ml"
           : (Javascript.variable_declaration list))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = y;
              MenhirLib.EngineTypes.startp = _startpos_y_;
              MenhirLib.EngineTypes.endp = _endpos_y_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = x;
                MenhirLib.EngineTypes.startp = _startpos_x_;
                MenhirLib.EngineTypes.endp = _endpos_x_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let xs : (Javascript.variable_declaration list) = Obj.magic xs in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10830 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let y : (Javascript.initialiser option) = Obj.magic y in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v =
          let x = 
# 172 "<standard.mly>"
    ( (x, y) )
# 10841 "compiler/lib/js_parser.ml"
           in
          (
# 253 "<standard.mly>"
    ( x :: xs )
# 10846 "compiler/lib/js_parser.ml"
           : (Javascript.variable_declaration list))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = y;
          MenhirLib.EngineTypes.startp = _startpos_y_;
          MenhirLib.EngineTypes.endp = _endpos_y_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let y : (Javascript.initialiser option) = Obj.magic y in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_y_ in
        let _v =
          let x = 
# 172 "<standard.mly>"
    ( (x, y) )
# 10880 "compiler/lib/js_parser.ml"
           in
          (
# 250 "<standard.mly>"
    ( [ x ] )
# 10885 "compiler/lib/js_parser.ml"
           : (Javascript.variable_declaration list))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = y;
              MenhirLib.EngineTypes.startp = _startpos_y_;
              MenhirLib.EngineTypes.endp = _endpos_y_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = x;
                MenhirLib.EngineTypes.startp = _startpos_x_;
                MenhirLib.EngineTypes.endp = _endpos_x_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let xs : (Javascript.variable_declaration list) = Obj.magic xs in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 10926 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let y : (Javascript.initialiser option) = Obj.magic y in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v =
          let x = 
# 172 "<standard.mly>"
    ( (x, y) )
# 10937 "compiler/lib/js_parser.ml"
           in
          (
# 253 "<standard.mly>"
    ( x :: xs )
# 10942 "compiler/lib/js_parser.ml"
           : (Javascript.variable_declaration list))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.formal_parameter_list) = 
# 250 "<standard.mly>"
    ( [ x ] )
# 10968 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let xs : (Javascript.formal_parameter_list) = Obj.magic xs in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11002 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.ident) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.formal_parameter_list) = 
# 253 "<standard.mly>"
    ( x :: xs )
# 11011 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = x;
          MenhirLib.EngineTypes.startp = _startpos_x_;
          MenhirLib.EngineTypes.endp = _endpos_x_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let x : (Javascript.property_name * Javascript.expression) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_x_ in
        let _v : (Javascript.property_name_and_value_list) = 
# 700 "compiler/lib/js_parser.mly"
       ( [x] )
# 11036 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = x;
            MenhirLib.EngineTypes.startp = _startpos_x_;
            MenhirLib.EngineTypes.endp = _endpos_x_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11063 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.property_name * Javascript.expression) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.property_name_and_value_list) = 
# 701 "compiler/lib/js_parser.mly"
                 ( [x] )
# 11072 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = xs;
          MenhirLib.EngineTypes.startp = _startpos_xs_;
          MenhirLib.EngineTypes.endp = _endpos_xs_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let xs : (Javascript.property_name_and_value_list) = Obj.magic xs in
        let _2 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11106 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let x : (Javascript.property_name * Javascript.expression) = Obj.magic x in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_x_ in
        let _endpos = _endpos_xs_ in
        let _v : (Javascript.property_name_and_value_list) = 
# 702 "compiler/lib/js_parser.mly"
                                                               ( x :: xs )
# 11115 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.statement * Javascript.location) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.source_element * Javascript.location) = 
# 157 "compiler/lib/js_parser.mly"
   ( let statement, pi = _1 in Statement statement, pi )
# 11140 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = _1;
          MenhirLib.EngineTypes.startp = _startpos__1_;
          MenhirLib.EngineTypes.endp = _endpos__1_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let _1 : (Javascript.function_declaration * Javascript.location) = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : (Javascript.source_element * Javascript.location) = 
# 159 "compiler/lib/js_parser.mly"
   ( let declaration, pi = _1 in Function_declaration declaration, pi )
# 11165 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = annots;
            MenhirLib.EngineTypes.startp = _startpos_annots_;
            MenhirLib.EngineTypes.endp = _endpos_annots_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let s : (Javascript.source_element * Javascript.location) = Obj.magic s in
        let annots : (Js_token.Annot.t list) = Obj.magic annots in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_annots_ in
        let _endpos = _endpos_s_ in
        let _v : ((Javascript.source_element * Javascript.location) * Js_token.Annot.t list) = 
# 153 "compiler/lib/js_parser.mly"
                                  (s,annots)
# 11197 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = e;
            MenhirLib.EngineTypes.startp = _startpos_e_;
            MenhirLib.EngineTypes.endp = _endpos_e_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : 
# 106 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11224 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let e : (Javascript.expression) = Obj.magic e in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_e_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.expression) = 
# 147 "compiler/lib/js_parser.mly"
                    ( e )
# 11233 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 190 "compiler/lib/js_parser.mly"
                       ( s )
# 11258 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = s;
            MenhirLib.EngineTypes.startp = _startpos_s_;
            MenhirLib.EngineTypes.endp = _endpos_s_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Parse_info.t) = Obj.magic _2 in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 191 "compiler/lib/js_parser.mly"
                                                                  ( s )
# 11290 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11315 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11340 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11365 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11390 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11415 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11440 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11465 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 187 "compiler/lib/js_parser.mly"
                        ( s )
# 11490 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = block;
          MenhirLib.EngineTypes.startp = _startpos_block_;
          MenhirLib.EngineTypes.endp = _endpos_block_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let block : (Javascript.statement_list * Parse_info.t * Parse_info.t) = Obj.magic block in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_block_ in
        let _endpos = _endpos_block_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 167 "compiler/lib/js_parser.mly"
   ( let statements, pi_start, _pi_end = block in
     Block statements, Pi pi_start )
# 11516 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11541 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11566 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11591 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11616 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11641 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11666 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11691 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11716 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = s;
          MenhirLib.EngineTypes.startp = _startpos_s_;
          MenhirLib.EngineTypes.endp = _endpos_s_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let s : (Javascript.statement * Javascript.location) = Obj.magic s in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_s_ in
        let _endpos = _endpos_s_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 177 "compiler/lib/js_parser.mly"
                     ( s )
# 11741 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _5;
          MenhirLib.EngineTypes.startp = _startpos__5_;
          MenhirLib.EngineTypes.endp = _endpos__5_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = y;
            MenhirLib.EngineTypes.startp = _startpos_y_;
            MenhirLib.EngineTypes.endp = _endpos_y_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = x;
              MenhirLib.EngineTypes.startp = _startpos_x_;
              MenhirLib.EngineTypes.endp = _endpos_x_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _3;
                MenhirLib.EngineTypes.startp = _startpos__3_;
                MenhirLib.EngineTypes.endp = _endpos__3_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _;
                  MenhirLib.EngineTypes.semv = _3_inlined1;
                  MenhirLib.EngineTypes.startp = _startpos__3_inlined1_;
                  MenhirLib.EngineTypes.endp = _endpos__3_inlined1_;
                  MenhirLib.EngineTypes.next = {
                    MenhirLib.EngineTypes.state = _;
                    MenhirLib.EngineTypes.semv = item;
                    MenhirLib.EngineTypes.startp = _startpos_item_;
                    MenhirLib.EngineTypes.endp = _endpos_item_;
                    MenhirLib.EngineTypes.next = {
                      MenhirLib.EngineTypes.state = _;
                      MenhirLib.EngineTypes.semv = _1;
                      MenhirLib.EngineTypes.startp = _startpos__1_;
                      MenhirLib.EngineTypes.endp = _endpos__1_;
                      MenhirLib.EngineTypes.next = {
                        MenhirLib.EngineTypes.state = _menhir_s;
                        MenhirLib.EngineTypes.semv = pi;
                        MenhirLib.EngineTypes.startp = _startpos_pi_;
                        MenhirLib.EngineTypes.endp = _endpos_pi_;
                        MenhirLib.EngineTypes.next = _menhir_stack;
                      };
                    };
                  };
                };
              };
            };
          };
        } = _menhir_stack in
        let _5 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11804 "compiler/lib/js_parser.ml"
         = Obj.magic _5 in
        let y : ((Javascript.statement_list * Javascript.case_clause list) option) = Obj.magic y in
        let x : (Javascript.case_clause list) = Obj.magic x in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11811 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let _3_inlined1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11816 "compiler/lib/js_parser.ml"
         = Obj.magic _3_inlined1 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11822 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11827 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__5_ in
        let _v =
          let pair = 
# 172 "<standard.mly>"
    ( (x, y) )
# 11836 "compiler/lib/js_parser.ml"
           in
          let subject = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 11841 "compiler/lib/js_parser.ml"
           in
          (
# 267 "compiler/lib/js_parser.mly"
   ( let switch = match pair with
       | cases, None ->
         Switch_statement (subject, cases, None, [])
       | cases, Some (default, more_cases) ->
         Switch_statement (subject, cases, Some default, more_cases)
      in switch, Pi pi )
# 11851 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = alternative;
          MenhirLib.EngineTypes.startp = _startpos_alternative_;
          MenhirLib.EngineTypes.endp = _endpos_alternative_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _4;
            MenhirLib.EngineTypes.startp = _startpos__4_;
            MenhirLib.EngineTypes.endp = _endpos__4_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = consequence;
              MenhirLib.EngineTypes.startp = _startpos_consequence_;
              MenhirLib.EngineTypes.endp = _endpos_consequence_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _2;
                MenhirLib.EngineTypes.startp = _startpos__2_;
                MenhirLib.EngineTypes.endp = _endpos__2_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = condition;
                  MenhirLib.EngineTypes.startp = _startpos_condition_;
                  MenhirLib.EngineTypes.endp = _endpos_condition_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let alternative : (Javascript.expression) = Obj.magic alternative in
        let _4 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11898 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let consequence : (Javascript.expression) = Obj.magic consequence in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11904 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let condition : (Javascript.expression) = Obj.magic condition in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_condition_ in
        let _endpos = _endpos_alternative_ in
        let _v : (Javascript.expression) = 
# 337 "compiler/lib/js_parser.mly"
   ( ECond (condition, consequence, alternative) )
# 11913 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = alternative;
          MenhirLib.EngineTypes.startp = _startpos_alternative_;
          MenhirLib.EngineTypes.endp = _endpos_alternative_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _4;
            MenhirLib.EngineTypes.startp = _startpos__4_;
            MenhirLib.EngineTypes.endp = _endpos__4_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = consequence;
              MenhirLib.EngineTypes.startp = _startpos_consequence_;
              MenhirLib.EngineTypes.endp = _endpos_consequence_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _2;
                MenhirLib.EngineTypes.startp = _startpos__2_;
                MenhirLib.EngineTypes.endp = _endpos__2_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = condition;
                  MenhirLib.EngineTypes.startp = _startpos_condition_;
                  MenhirLib.EngineTypes.endp = _endpos_condition_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let alternative : (Javascript.expression) = Obj.magic alternative in
        let _4 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11959 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let consequence : (Javascript.expression) = Obj.magic consequence in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 11965 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let condition : (Javascript.expression) = Obj.magic condition in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_condition_ in
        let _endpos = _endpos_alternative_ in
        let _v : (Javascript.expression) = 
# 337 "compiler/lib/js_parser.mly"
   ( ECond (condition, consequence, alternative) )
# 11974 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = alternative;
          MenhirLib.EngineTypes.startp = _startpos_alternative_;
          MenhirLib.EngineTypes.endp = _endpos_alternative_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _4;
            MenhirLib.EngineTypes.startp = _startpos__4_;
            MenhirLib.EngineTypes.endp = _endpos__4_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = consequence;
              MenhirLib.EngineTypes.startp = _startpos_consequence_;
              MenhirLib.EngineTypes.endp = _endpos_consequence_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _2;
                MenhirLib.EngineTypes.startp = _startpos__2_;
                MenhirLib.EngineTypes.endp = _endpos__2_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = condition;
                  MenhirLib.EngineTypes.startp = _startpos_condition_;
                  MenhirLib.EngineTypes.endp = _endpos_condition_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let alternative : (Javascript.expression) = Obj.magic alternative in
        let _4 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12020 "compiler/lib/js_parser.ml"
         = Obj.magic _4 in
        let consequence : (Javascript.expression) = Obj.magic consequence in
        let _2 : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12026 "compiler/lib/js_parser.ml"
         = Obj.magic _2 in
        let condition : (Javascript.expression) = Obj.magic condition in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_condition_ in
        let _endpos = _endpos_alternative_ in
        let _v : (Javascript.expression) = 
# 337 "compiler/lib/js_parser.mly"
   ( ECond (condition, consequence, alternative) )
# 12035 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _2;
          MenhirLib.EngineTypes.startp = _startpos__2_;
          MenhirLib.EngineTypes.endp = _endpos__2_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let _2 : (Javascript.expression) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12063 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__2_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 275 "compiler/lib/js_parser.mly"
                         ( (Throw_statement _2, Pi pi) )
# 12071 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _4;
          MenhirLib.EngineTypes.startp = _startpos__4_;
          MenhirLib.EngineTypes.endp = _endpos__4_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = _2;
              MenhirLib.EngineTypes.startp = _startpos__2_;
              MenhirLib.EngineTypes.endp = _endpos__2_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _menhir_s;
                MenhirLib.EngineTypes.semv = pi;
                MenhirLib.EngineTypes.startp = _startpos_pi_;
                MenhirLib.EngineTypes.endp = _endpos_pi_;
                MenhirLib.EngineTypes.next = _menhir_stack;
              };
            };
          };
        } = _menhir_stack in
        let _4 : (Javascript.statement_list option) = Obj.magic _4 in
        let _3 : (Javascript.ident * Javascript.statement_list) = Obj.magic _3 in
        let _2 : (Javascript.statement_list) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12113 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__4_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 278 "compiler/lib/js_parser.mly"
                                 ( (Try_statement (_2, Some _3, _4), Pi pi) )
# 12121 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _2;
            MenhirLib.EngineTypes.startp = _startpos__2_;
            MenhirLib.EngineTypes.endp = _endpos__2_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _menhir_s;
              MenhirLib.EngineTypes.semv = pi;
              MenhirLib.EngineTypes.startp = _startpos_pi_;
              MenhirLib.EngineTypes.endp = _endpos_pi_;
              MenhirLib.EngineTypes.next = _menhir_stack;
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.statement_list) = Obj.magic _3 in
        let _2 : (Javascript.statement_list) = Obj.magic _2 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12156 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos__3_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 279 "compiler/lib/js_parser.mly"
                                ( (Try_statement (_2, None, Some _3), Pi pi) )
# 12164 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let i : (Javascript.ident * Parse_info.t) = Obj.magic i in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_i_ in
        let _v : (Javascript.ident) = 
# 598 "compiler/lib/js_parser.mly"
                       ( fst i )
# 12189 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = list;
          MenhirLib.EngineTypes.startp = _startpos_list_;
          MenhirLib.EngineTypes.endp = _endpos_list_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _menhir_s;
            MenhirLib.EngineTypes.semv = pi;
            MenhirLib.EngineTypes.startp = _startpos_pi_;
            MenhirLib.EngineTypes.endp = _endpos_pi_;
            MenhirLib.EngineTypes.next = _menhir_stack;
          };
        } = _menhir_stack in
        let list : (Javascript.variable_declaration list) = Obj.magic list in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12217 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_list_ in
        let _v : (Javascript.statement * Javascript.location) = 
# 202 "compiler/lib/js_parser.mly"
   ( Variable_statement list, Pi pi )
# 12225 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = i;
          MenhirLib.EngineTypes.startp = _startpos_i_;
          MenhirLib.EngineTypes.endp = _endpos_i_;
          MenhirLib.EngineTypes.next = _menhir_stack;
        } = _menhir_stack in
        let i : 
# 48 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 12246 "compiler/lib/js_parser.ml"
         = Obj.magic i in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_i_ in
        let _endpos = _endpos_i_ in
        let _v : (Javascript.ident * Parse_info.t) = 
# 601 "compiler/lib/js_parser.mly"
                  ( let name, pi = i in var pi name, pi )
# 12254 "compiler/lib/js_parser.ml"
         in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = body;
          MenhirLib.EngineTypes.startp = _startpos_body_;
          MenhirLib.EngineTypes.endp = _endpos_body_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3;
            MenhirLib.EngineTypes.startp = _startpos__3_;
            MenhirLib.EngineTypes.endp = _endpos__3_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = item;
              MenhirLib.EngineTypes.startp = _startpos_item_;
              MenhirLib.EngineTypes.endp = _endpos_item_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1;
                MenhirLib.EngineTypes.startp = _startpos__1_;
                MenhirLib.EngineTypes.endp = _endpos__1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = pi;
                  MenhirLib.EngineTypes.startp = _startpos_pi_;
                  MenhirLib.EngineTypes.endp = _endpos_pi_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let body : (Javascript.statement * Javascript.location) = Obj.magic body in
        let _3 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12300 "compiler/lib/js_parser.ml"
         = Obj.magic _3 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12306 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let pi : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12311 "compiler/lib/js_parser.ml"
         = Obj.magic pi in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos_pi_ in
        let _endpos = _endpos_body_ in
        let _v =
          let condition = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 12320 "compiler/lib/js_parser.ml"
           in
          (
# 228 "compiler/lib/js_parser.mly"
     ( (While_statement (condition, body), Pi pi) )
# 12325 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
      (fun _menhir_env ->
        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
        let {
          MenhirLib.EngineTypes.state = _;
          MenhirLib.EngineTypes.semv = _3;
          MenhirLib.EngineTypes.startp = _startpos__3_;
          MenhirLib.EngineTypes.endp = _endpos__3_;
          MenhirLib.EngineTypes.next = {
            MenhirLib.EngineTypes.state = _;
            MenhirLib.EngineTypes.semv = _3_inlined1;
            MenhirLib.EngineTypes.startp = _startpos__3_inlined1_;
            MenhirLib.EngineTypes.endp = _endpos__3_inlined1_;
            MenhirLib.EngineTypes.next = {
              MenhirLib.EngineTypes.state = _;
              MenhirLib.EngineTypes.semv = item;
              MenhirLib.EngineTypes.startp = _startpos_item_;
              MenhirLib.EngineTypes.endp = _endpos_item_;
              MenhirLib.EngineTypes.next = {
                MenhirLib.EngineTypes.state = _;
                MenhirLib.EngineTypes.semv = _1_inlined1;
                MenhirLib.EngineTypes.startp = _startpos__1_inlined1_;
                MenhirLib.EngineTypes.endp = _endpos__1_inlined1_;
                MenhirLib.EngineTypes.next = {
                  MenhirLib.EngineTypes.state = _menhir_s;
                  MenhirLib.EngineTypes.semv = _1;
                  MenhirLib.EngineTypes.startp = _startpos__1_;
                  MenhirLib.EngineTypes.endp = _endpos__1_;
                  MenhirLib.EngineTypes.next = _menhir_stack;
                };
              };
            };
          };
        } = _menhir_stack in
        let _3 : (Javascript.statement * Javascript.location) = Obj.magic _3 in
        let _3_inlined1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12372 "compiler/lib/js_parser.ml"
         = Obj.magic _3_inlined1 in
        let item : (Javascript.expression) = Obj.magic item in
        let _1_inlined1 : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12378 "compiler/lib/js_parser.ml"
         = Obj.magic _1_inlined1 in
        let _1 : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12383 "compiler/lib/js_parser.ml"
         = Obj.magic _1 in
        let _endpos__0_ = _menhir_stack.MenhirLib.EngineTypes.endp in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let _2 = 
# 697 "compiler/lib/js_parser.mly"
                                                         ( item )
# 12392 "compiler/lib/js_parser.ml"
           in
          (
# 262 "compiler/lib/js_parser.mly"
                                              ( assert false )
# 12397 "compiler/lib/js_parser.ml"
           : (Javascript.statement * Javascript.location))
        in
        {
          MenhirLib.EngineTypes.state = _menhir_s;
          MenhirLib.EngineTypes.semv = Obj.repr _v;
          MenhirLib.EngineTypes.startp = _startpos;
          MenhirLib.EngineTypes.endp = _endpos;
          MenhirLib.EngineTypes.next = _menhir_stack;
        });
    |]
  
  let terminal_count =
    91
  
  let token2terminal : token -> int =
    fun _tok ->
      match _tok with
      | Js_token.T_WITH _ ->
          1
      | Js_token.T_WHILE _ ->
          2
      | Js_token.T_VOID _ ->
          3
      | Js_token.T_VIRTUAL_SEMICOLON _ ->
          4
      | Js_token.T_VAR _ ->
          5
      | Js_token.T_TYPEOF _ ->
          6
      | Js_token.T_TRY _ ->
          7
      | Js_token.T_TRUE _ ->
          8
      | Js_token.T_THROW _ ->
          9
      | Js_token.T_THIS _ ->
          10
      | Js_token.T_SWITCH _ ->
          11
      | Js_token.T_STRING _ ->
          12
      | Js_token.T_STRICT_NOT_EQUAL _ ->
          13
      | Js_token.T_STRICT_EQUAL _ ->
          14
      | Js_token.T_SPREAD _ ->
          15
      | Js_token.T_SEMICOLON _ ->
          16
      | Js_token.T_RSHIFT_ASSIGN _ ->
          17
      | Js_token.T_RSHIFT3_ASSIGN _ ->
          18
      | Js_token.T_RSHIFT3 _ ->
          19
      | Js_token.T_RSHIFT _ ->
          20
      | Js_token.T_RPAREN _ ->
          21
      | Js_token.T_RETURN _ ->
          22
      | Js_token.T_REGEX _ ->
          23
      | Js_token.T_RCURLY _ ->
          24
      | Js_token.T_RBRACKET _ ->
          25
      | Js_token.T_PLUS_ASSIGN _ ->
          26
      | Js_token.T_PLUS _ ->
          27
      | Js_token.T_PLING _ ->
          28
      | Js_token.T_PERIOD _ ->
          29
      | Js_token.T_OR _ ->
          30
      | Js_token.T_NUMBER _ ->
          31
      | Js_token.T_NULL _ ->
          32
      | Js_token.T_NOT_EQUAL _ ->
          33
      | Js_token.T_NOT _ ->
          34
      | Js_token.T_NEW _ ->
          35
      | Js_token.T_MULT_ASSIGN _ ->
          36
      | Js_token.T_MULT _ ->
          37
      | Js_token.T_MOD_ASSIGN _ ->
          38
      | Js_token.T_MOD _ ->
          39
      | Js_token.T_MINUS_ASSIGN _ ->
          40
      | Js_token.T_MINUS _ ->
          41
      | Js_token.T_LSHIFT_ASSIGN _ ->
          42
      | Js_token.T_LSHIFT _ ->
          43
      | Js_token.T_LPAREN _ ->
          44
      | Js_token.T_LESS_THAN_EQUAL _ ->
          45
      | Js_token.T_LESS_THAN _ ->
          46
      | Js_token.T_LCURLY _ ->
          47
      | Js_token.T_LBRACKET _ ->
          48
      | Js_token.T_INSTANCEOF _ ->
          49
      | Js_token.T_INCR_NB _ ->
          50
      | Js_token.T_INCR _ ->
          51
      | Js_token.T_IN _ ->
          52
      | Js_token.T_IF _ ->
          53
      | Js_token.T_IDENTIFIER _ ->
          54
      | Js_token.T_GREATER_THAN_EQUAL _ ->
          55
      | Js_token.T_GREATER_THAN _ ->
          56
      | Js_token.T_FUNCTION _ ->
          57
      | Js_token.T_FOR _ ->
          58
      | Js_token.T_FINALLY _ ->
          59
      | Js_token.T_FALSE _ ->
          60
      | Js_token.T_EQUAL _ ->
          61
      | Js_token.T_ELSE _ ->
          62
      | Js_token.T_DO _ ->
          63
      | Js_token.T_DIV_ASSIGN _ ->
          64
      | Js_token.T_DIV _ ->
          65
      | Js_token.T_DELETE _ ->
          66
      | Js_token.T_DEFAULT _ ->
          67
      | Js_token.T_DECR_NB _ ->
          68
      | Js_token.T_DECR _ ->
          69
      | Js_token.T_DEBUGGER _ ->
          70
      | Js_token.T_CONTINUE _ ->
          71
      | Js_token.T_COMMA _ ->
          72
      | Js_token.T_COLON _ ->
          73
      | Js_token.T_CATCH _ ->
          74
      | Js_token.T_CASE _ ->
          75
      | Js_token.T_BREAK _ ->
          76
      | Js_token.T_BIT_XOR_ASSIGN _ ->
          77
      | Js_token.T_BIT_XOR _ ->
          78
      | Js_token.T_BIT_OR_ASSIGN _ ->
          79
      | Js_token.T_BIT_OR _ ->
          80
      | Js_token.T_BIT_NOT _ ->
          81
      | Js_token.T_BIT_AND_ASSIGN _ ->
          82
      | Js_token.T_BIT_AND _ ->
          83
      | Js_token.T_ASSIGN _ ->
          84
      | Js_token.T_AND _ ->
          85
      | Js_token.TUnknown _ ->
          86
      | Js_token.TCommentLineDirective _ ->
          87
      | Js_token.TComment _ ->
          88
      | Js_token.TAnnot _ ->
          89
      | Js_token.EOF _ ->
          90
  
  let error_terminal =
    0
  
  let token2value : token -> Obj.t =
    fun _tok ->
      match _tok with
      | Js_token.T_WITH _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12606 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_WHILE _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12612 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_VOID _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12618 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_VIRTUAL_SEMICOLON _v ->
          Obj.repr (_v : 
# 98 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12624 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_VAR _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12630 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_TYPEOF _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12636 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_TRY _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12642 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_TRUE _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12648 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_THROW _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12654 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_THIS _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12660 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_SWITCH _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12666 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_STRING _v ->
          Obj.repr (_v : 
# 49 "compiler/lib/js_parser.mly"
      (string * Parse_info.t * int)
# 12672 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_STRICT_NOT_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12678 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_STRICT_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12684 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_SPREAD _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12690 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_SEMICOLON _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12696 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RSHIFT_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12702 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RSHIFT3_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12708 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RSHIFT3 _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12714 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RSHIFT _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12720 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RPAREN _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12726 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RETURN _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12732 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_REGEX _v ->
          Obj.repr (_v : 
# 50 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 12738 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RCURLY _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12744 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_RBRACKET _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12750 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_PLUS_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12756 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_PLUS _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12762 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_PLING _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12768 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_PERIOD _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12774 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_OR _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12780 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_NUMBER _v ->
          Obj.repr (_v : 
# 47 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 12786 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_NULL _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12792 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_NOT_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12798 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_NOT _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12804 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_NEW _v ->
          Obj.repr (_v : 
# 61 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12810 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MULT_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12816 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MULT _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12822 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MOD_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12828 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MOD _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12834 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MINUS_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12840 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_MINUS _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12846 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LSHIFT_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12852 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LSHIFT _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12858 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LPAREN _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12864 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LESS_THAN_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12870 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LESS_THAN _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12876 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LCURLY _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12882 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_LBRACKET _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12888 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_INSTANCEOF _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12894 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_INCR_NB _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12900 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_INCR _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12906 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_IN _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12912 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_IF _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12918 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_IDENTIFIER _v ->
          Obj.repr (_v : 
# 48 "compiler/lib/js_parser.mly"
      (string * Parse_info.t)
# 12924 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_GREATER_THAN_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12930 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_GREATER_THAN _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12936 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_FUNCTION _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12942 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_FOR _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12948 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_FINALLY _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12954 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_FALSE _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12960 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_EQUAL _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12966 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_ELSE _v ->
          Obj.repr (_v : 
# 59 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12972 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DO _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12978 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DIV_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12984 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DIV _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12990 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DELETE _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 12996 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DEFAULT _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13002 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DECR_NB _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13008 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DECR _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13014 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_DEBUGGER _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13020 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_CONTINUE _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13026 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_COMMA _v ->
          Obj.repr (_v : 
# 64 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13032 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_COLON _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13038 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_CATCH _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13044 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_CASE _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13050 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BREAK _v ->
          Obj.repr (_v : 
# 53 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13056 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_XOR_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13062 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_XOR _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13068 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_OR_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13074 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_OR _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13080 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_NOT _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13086 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_AND_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13092 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_BIT_AND _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13098 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_ASSIGN _v ->
          Obj.repr (_v : 
# 74 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13104 "compiler/lib/js_parser.ml"
          )
      | Js_token.T_AND _v ->
          Obj.repr (_v : 
# 79 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13110 "compiler/lib/js_parser.ml"
          )
      | Js_token.TUnknown _v ->
          Obj.repr (_v : 
# 100 "compiler/lib/js_parser.mly"
       (string * Parse_info.t)
# 13116 "compiler/lib/js_parser.ml"
          )
      | Js_token.TCommentLineDirective _v ->
          Obj.repr (_v : 
# 102 "compiler/lib/js_parser.mly"
       (string * Parse_info.t)
# 13122 "compiler/lib/js_parser.ml"
          )
      | Js_token.TComment _v ->
          Obj.repr (_v : 
# 101 "compiler/lib/js_parser.mly"
       (string * Parse_info.t)
# 13128 "compiler/lib/js_parser.ml"
          )
      | Js_token.TAnnot _v ->
          Obj.repr (_v : 
# 99 "compiler/lib/js_parser.mly"
       (Js_token.Annot.t)
# 13134 "compiler/lib/js_parser.ml"
          )
      | Js_token.EOF _v ->
          Obj.repr (_v : 
# 106 "compiler/lib/js_parser.mly"
       (Parse_info.t)
# 13140 "compiler/lib/js_parser.ml"
          )
  
  let default_reduction =
    "\000\000\000\003\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\030\001\007\001\012\001\020\000\000\000\149\000\148\000\000\000\000\000\000\000\000\000\000\000k\000j\000i\000h\000g\000f\000n\000e\000d\000c\001\018\000b\000l\000a\000V\000U\000`\000R\000_\000^\000T\000m\000W\000]\000\\\000[\000o\000Z\000S\000Y\000X\000\000\0005\000\000\000\000\000\000\000\b\000\000\000\000\001B\000\000\001@\000\168\000\000\000\000\000\000\000\000\001\029\000\135\000\000\000\000\000\000\000\000\000\000\000\031\000\000\000\000\000\000\000\000\001\b\001\r\001\004\000\136\000\000\000\216\000\217\000\219\001\005\001\011\001\t\000v\000\000\000\000\000\138\000\000\000\000\000,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\001\006\000\152\000\151\000\000\000\000\000$\000\000\000\000\000\000\000\000\000\000\000\172\001\n\001\014\000\000\000\170\000\000\000\174\000\000\000\184\000\000\000\173\000\000\000\171\000\000\000\000\000\000\000\000\000\024\000\025\000\021\000\018\000\020\000\022\000\023\000\019\000\027\000\028\000\026\000\017\000\000\000\011\000\012\000\000\000\000\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\000\000\000\000\000\000\000#\000\000\000E\000D\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\133\000\000\000\006\000\005\000\000\000\000\001\023\000\000\000\000\000\137\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000r\000\000\000\000\001\025\000\160\001A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\147\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\000\014\000\000\000\000\001;\000\000\000\000\000\000\000\000\000\000\000\188\000\000\000\186\000\000\000\190\000\000\000\189\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000t\0001\000\164\000\000\000 \000\000\000\000\0014\0011\001'\0016\001-\0000\0015\001%\000\000\000:\0009\001&\000\000\000\000\000\000\000\000\0008\001,\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001<\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\201\000\000\000\205\000\000\000\215\000\000\000\204\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000x\000\000\000\000\000\142\000\000\000\000\000\141\000%\000\000\000\000\000\016\0017\000\000\000\000\000u\0010\0012\0013\001(\000\000\000\000\000I\0018\001)\001.\001/\001*\000\015\000\000\000\000\000(\000\000\000\000\000'\000&\001+\000H\000M\000\000\000\000\000\000\000\162\001\027\000\000\000\000\000\000\000\000\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000\000\000\000\000L\000\000\000\000\000G\000F\000\000\000\000\000p\000\000\000\131\000)\000\000\000\000\000\000\0007\000\000\0019\000\000\000\166\000\000\000}\000\000\0004\000\029\000\000\000\000\000K\000\000\000\000\000\000\000\000\000*\001?\000\000\001>\000\158\001C\000\000\000\000\000\000\000\000\000\000\000P\001!\000\000\000\127\001\"\000\000\0003\000Q\000\000\000\000\000@\000\000\000<\000\000\000\007\000A\000\000\000\000\000\n\000\000\000>\000\000\000\t\000=\000\150\000\000\000\000\001 \001\019\001\017\000\000\0002\000\000\000\000\001\015\000\145\000\000\000\139\000\000\000\000\000\000\000\000\000\000\000\000\001D\001#\000\000\000{\000\001\000\000\001\016\000\000\000\002\000\000\001$"
  
  let[@inline] default_reduction =
    fun i ->
      MenhirLib.PackedIntArray.get16 default_reduction i
  
  let error =
    "w\248\131\017\176I\182i/\b@`\000\000\000\000\000\000\000\000\000\000\001\223\226\012F\193&\217\164\188!\001\128\000\000\000\000\000\000\000\000\000\000\007\127\1361\027\004\155f\146\240\132\000\000\000\000\000\000\016\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000\149@\b\141\130M\146A`\002\000\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%P\002#`\147d\144X\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\000\021\000 2\0010I\000\000\000\000J\160\004F\193&\201 \176\001\000\tT\000\136\216$\217$\022\000 \007\127\128(\025\000\004\231\1793\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\149@\b\141\130M\146A`\002\000\018\168\001Q\176I\178H,\128@\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\tT\000\136\216$\217$\022\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\b\000\000\000\000\000\000\000\000\128\000\000\000@\000\000\000\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\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\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000w\248\131\145\176I\182i/\b@\000\000\000\000\000\001\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000%P\002#`\147d\144X\000\128\004\170\000Dl\018l\146\011\000\016\000\149@\b\141\130M\146A`\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\128i\205\164Uf\152D\140)B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128o\207\228\255\238\152L\140{\194\239\224\004\001 \000\156\246fp\000\000\000\000\000\000\000\000\000\000\000\000\000\149H(\141\130M\146A`\002\000\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000 \026si\021Y\166\017#\nP\137T\000\136\216$\217$\022\000 \000\128i\205\164Uf\152D\140)B%P\002#`\147d\144X\000\128\002\001\1676\145U\154a\0180\165\b\149@\b\141\130M\146A`\002\000\b\006\156\218EVi\132H\194\148 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\249\252\159\253\211\t\145\143x]\252\000\128$\000\019\158\204\206\000\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\001\000\208\153H\000\2010\128\024R\132J\160\004F\193&\201 \176\001\000\004\003Be \003$\194\000aJ\017*\128\017\027\004\155$\130\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\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\004\003Be \003$\194\000aJ\017*\128\017\027\004\155$\130\192\004\000\016\r\249\244\159\236\211\t\145\143x@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\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\000\000\000\000\000\000\000\000\000\128\000\004\170\000Dl\018l\146\011\000\016\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\001\000\208\153H\000\2010\128\024R\132J\160\004F\193&\201 \176\001\000\004\003Be \003$\194\000aJ\017*\128\017\027\004\155$\130\192\004\000\016\r\t\148\128\012\147\b\001\133(D\170\000Dl\018l\146\011\000\016\000@4&R\0002L \006\020\161\018\168\001\017\176I\178H,\000@\001\000\208\153H\000\2010\128\024R\132J\160\004F\193&\201 \176\001\000\004\003Be \003$\194\000aJ\017*\128\017\027\004\155$\130\192\004\000\016\r\t\148\128\012\147\b\001\133(@\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\016\r9\180\138\172\211\b\145\133(D\170\000Dl\018l\146\011\000\016\000@4\230\210*\179L\"F\020\161\018\168\001\017\176I\178H,\000@\001\000\211\155H\170\2050\137\024R\132J\160\004F\193&\201 \176\001\000\004\003Nm\"\1714\194$aJ\017*\128\017\027\004\155$\130\192\004\000\016\r9\180\138\172\211\b\145\133(@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000@\000\001*\144\017\027\004\155$\130\192\004\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000\000\000\002\000\000\000\000\000\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 \026si\021Y\166\017#\nP\132\003Nm\"\1714\194$aJ\016\128i\205\164Uf\152D\140)B\000\000\b\000\000\000\000\000\001\000\000\029\254 \196l\018m\138K\194\016\000\149@\b\141\130M\146A`\002\000\b\006\152\026EVi\132H\130\148\000\000\000\000\000\000\000@\000\000\000\000 \002\000\000\000\000\000\000\002\000 \tT\000\136\216$\217$\022\000 \000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\004\003L\r\"\1714\194$AJ\000\000\000\000\000\000\016\000\000\000\000\000\239\241\007#`\147lR^\016\128\004\170\000Dl\018l\146\011\000\016\000@\004\000\000\000\000\000\000\004\000\000\000\000\000\000\000\b\000\000\000\000\000\002U\000\"6\t6I\005\128\b\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\b\000\000\000\000\001\001\000\000%P\002#`\147d\144X\000\128\000\000\000\000\000\000\000\000\0000\000\003\191\196\028\141\130M\177I\248\194\000\000\000\000\000\000\000\000\000\000\000\000\003U\016\"6\t6I\005\128\b\000\000\000\000\000\000\000\000\000\000\000\000\004\000B\000\000\000\000\000\000@\000\001*\128\017\027\004\155$\130\192\004\000\016\r04\138\172\211\b\145\005(\004\170\000Dl\018l\146\011\000\016\000@4\192\210*\179L\"D\020\160\000\168\001\001\144\t\130H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \027\224\249?\251\166\019\"\030\240\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\016\r04\138\172\211\b\145\005(\004\170\000Dl\018l\146\011\000\016\000@4\192\210*\179L\"D\020\160\018\168\001\017\176I\178H,\000@\001\000\211\003H\170\2050\137\016R\128\000\000\000\000\000 \000\000\000\000\000\tT\000\136\216$\217$\022\000 \000\000\000@\000\000\000\000\000\b\000\000\239\241\006#`\147lR^\016\128\002\001\190\015\147\255\186a21\239\000\000\000\000\000\000@\000\000\000\000\000\022\168\129\017\176I\178H,\000@\000\000\000\000\000\000\000@\000\000\000\000\000\002\000\000\000\000 \000\002\000 \tT\000\136\216$\217$\022\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\r04\138\172\211\b\145\133(\000\001\160\002\144\001\146a\0000\165\000\149@\b\141\130M\146A`\002\000\000\006\128\n@\006I\132\000\194\148\002U\000\"6\t6I\005\128\b\000\000\026\000)\000\025&\016\003\nP\tT\000\136\216$\217$\022\000 \000\000o\131\164\255f\152L\140{\192%P\002#`\147d\144X\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\002U\000\"6\t6I\005\128\b\000\000\000\000\000\000\000\000\000\000\000\000\tT\000\136\216$\217$\022\000 \000\000h\000\164\000d\152@\012)@%P\002#`\147d\144X\000\128\000\001\160\002\144\001\146a\0000\165\000\149@\b\141\130M\146A`\002\000\000\000\000\000\000\000\000\000\000\000\000\002U\000\"6\t6I\005\128\b\000\000\000\000\000\000\000\000\000\000\000\000\tT\000\136\216$\217$\022\000 \000\000\000\000\000\000\000\000\000\000\000\000%P\002#`\147d\144X\000\128\000\000\000\000\000\000\000\000\000\000\000\000\149@\b\141\130M\146A`\002\000\000\000\000\000\000\000\000\000\000\000\000\002U\000\"6\t6I\005\128\b\000\000\026\000)\000\025&\016\003\nP\tT\000\136\216$\217$\022\000 \000\000h\000\164\000d\152@\012)@%P\002#`\147d\144X\000\128\000\001\160\002\144\001\146a\0000\165\000\149@\b\141\130M\146A`\002\000\000\006\128\n@\006I\132\000\194\148\002U\000\"6\t6I\005\128\b\000\000\026\000)\000\025&\016\003\nP\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\128\000\b\000\000%P\002#`\147d\144X\000\128\000\000\001\000\000\000\000\000\000 \000\003\191\196\024\141\130M\177IxB\000w\248\131\017\176I\182)/\b@\002U\000\"6\t6I\005\128\b\000 \026`i\021Y\166\017\"\nP\tT\000\136\216$\217$\022\000 \000\128i\129\164Uf\152D\136)@%P\002#`\147d\144X\000\128\002\001\166\006\145U\154a\018 \165\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\000\000\000\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\128\b\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000@4\192\210*\179L\"D\020\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000\000\000 \000\000\000\000\000\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\004\003L\r\"\1714\194$AJ\001*\128\017\027\004\155$\130\192\004\000\016\r04\138\172\211\b\145\005(\004\170\000Dl\018l\146\011\000\016\000@4\192\210*\179L\"D\020\160\018\168\001\017\176I\178H,\000@\001\000\211\003H\170\2050\137\016R\128J\160\004F\193&\201 \176\001\000\004\003L\r\"\1714\194$AJ\001*\128\017\027\004\155$\130\192\004\000\016\r04\138\172\211\b\145\005(\004\170\000Dl\018l\146\011\000\016\000@4\192\210*\179L\"D\020\160\018\168\001\017\176I\178H,\000@\001\000\211\003H\170\2050\137\016R\128J\160\004F\193&\201 \176\001\000\004\003L\r\"\1714\194$AJ\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\020\128\012\147\b\001\005(\004\170\000Dl\018l\146\011\000\016\000@4\000R\0002L \004\020\160\018\168\001\017\176I\178H,\000@\001\000\208\001H\000\2010\128\016R\128J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000 \000\001*\128\017\027\004\155$\130\192\004\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000@4\000R\0002L \004\020\160\018\168\001\017\176I\178H,\000@\001\000\208\001H\000\2010\128\016R\128J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000\000\000\000\000\000\000\000\000\000\000\000\018\168\001\017\176I\178H,\000@\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\000\000\000\000\000\000\000\000\000\000\000\004\170\000Dl\018l\146\011\000\016\000@4\000R\0002L \004\020\160\018\168\001\017\176I\178H,\000@\001\000\208\001H\000\2010\128\016R\128J\160\004F\193&\201 \176\001\000\004\003@\005 \003$\194\000AJ\001*\128\017\027\004\155$\130\192\004\000\016\r\000\020\128\012\147\b\001\005(\004\170\000Dl\018l\146\011\000\016\000@4\000R\0002L \004\020\160\000\000\000\000\000\000\000\000\000\000\000\001\000\223\007\201\255\2210\153\016\247\129\223\192\b\002@\0019\236\204\224\000\000\000\000\000\000\000\000\000\000\000\000\001*\128\017\027\004\155$\130\192\004\000\000\000\000\128\000\000\000\000\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\000\b\006\248:O\246i\132\200\135\188\002U\000\"6\t6I\005\128\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\239\241\006#`\147lR^\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\000\000\000\000\000\000@\000\001*\128\017\027\004\155$\130\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128o\131\228\255\238\152L\136{\192\239\224\004\001 \000\156\246fp\000\000\000\000\000\000\000\000\000\000\000\000\000\149@\b\141\130M\146A`\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\004\000\000\000\000\000\000\004\000@\000\000\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\001*\136\017\027\004\155$\130\192\004\000\000\001\000\000\000\000\000\000\000\000\000\004\170\001Dl\018l\146\011\000\016\000\000\000 \000\000\000\000\000\000\000\000w\248\131\017\176I\182)/\b@\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\tT@\136\216$\217$\022\000 \000\000\b\000\000\000\000\000\000\000\000\000%P\n#`\147d\144X\000\128\000\000\001\000\000\000\000\000\000\000\000\003\191\196\024\141\130M\177IxB\000\000\000\000\000\000\000\000\000\000\000\000\000\000\223\007I\254\2050\153\016\247\128J\160\004F\193&\201 \176\001\000\000\000\002\000\000\000\000\000\000@\000\007\127\1361\027\004\155b\146\240\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000 \000\000\149@\b\141\130M\146A`\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\223\226\014F\193&\217\172\252a\001\187\252A\136\216$\219\020\151\132 \000\000\000\000\000\000\000\000\000\000\000\000\239\241\007#`\147lR~0\128\000\000\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\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\b\000\001\223\226\014F\193&\216\164\188a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\254 \228l\018m\158\207\198\016\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\255\016r6\t6\205%\225\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@4\230\210*\179L\"F\020\161\b\006\156\218EVi\132H\194\148 \000\000\000\000\000\000\000\000\000\000\000J\160\005F\193&\201 \178\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\004\000\000\018\168\001Q\176I\178H,\128@\000\000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \178\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\128\000\014\255\000P2\000\t\207fg\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@4\230\210*\179L\"F\020\161\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\003~\127'\255t\194dc\222\016\000\000\000\000\000\000\000\000\000\000\000\016\r9\180\138\172\211\b\145\133(B\001\1676\145U\154a\0180\165\b@4\230\210*\179L\"F\020\161\b\006\156\218EVi\132H\194\148 \000\000\128\000\000\000\000\000\016\000\001\223\226\012F\193&\216\164\188!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\239\241\006#`\147l\210^\016\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000J\160\004F\193&\201 \176\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\002\000\000\000\000\000\000\000\000\000\000\000\000"
  
  let[@inline] error =
    fun i ->
      MenhirLib.PackedIntArray.get1 error i
  
  let[@inline] error =
    fun i j ->
      error (91 * i + j)
  
  let start =
    2
  
  let action_displacement =
    "\006F\000\000\006F\000\000\005\018\000\210\020\172\020\172\020\172\000\000\000\000\000\000\000\000\020\172\000\000\000\000\020\172\020\172\020\172\020\172\019\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\"\020\172\0214\000\000\020\172\020\172\000\000\000.\000\000\000\000\001(!~\000\234\020\172\000\000\000\000\001Z\0014\007t\001D\020\172\000\000\020\172\020\172\020\172\020\172\000\000\000\000\000\000\000\000\t\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\156\020\024\000\000\020\172\020\172\000\000\015\250\020\172\r \020\172\007\254\020\172\011\252\000\000\000\000\000\000\000\000\000\t\020\024\000\000\020\172%\134\020\172%*\020\172\000\000\000\000\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\"J\020\172\001\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\172\000\000\000\000\000\162\020\172\000\000\020\172#^\020\172#\186\020\172$\022\020\172$r\020\172#\002\020\172$\206\020\172\"\166\000\136\000\000\020\172\000\000\000\000\000\000\020\172\014\214\020\172\011j\020\172\017\176\020\172\014D\020\172\015h\000\000\000\000\001R\000\000\000\000\000\160\020\172\000\000\020\172\002\236\000\000\000\000\n\216\b\144\nF\000\220\005\018\020\172\022\202\020\172\000\218\020\172\000\000\001\000\020\172\000\000\000\000\000\000\020\172\029\006\005\018\005\018\020\172\000\136\001<\020\172\001\b\0018\000)\020\172\002\236\005\018\000\000\020\172\000\000\002\236\020\172\027\236\020\172\0266\020\172\000\000\000\156\000\000\020\172\0228\020\172\021\166\020\172\030\188\001F\020\172\000'\005\018\002\136\001L\0214\020\172\000\250\020\172\000\000\028t(f\020\172(\194\020\172)\030\020\172\001\228\020\172\000\000\000\000\001\024\020\172\000\000\020\172)z\020\172'\174\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172*2\020\172*\142\020\172*\234\020\172(\n\020\172+F\000\000\000\022\020\172\000%\005\018\005\018\020\172\025\164\020\172\027Z\020\172\026\200\000\000\000\\\000\000\000\000\000\000\000\\\000\000\020\172\025\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\000\000\000\000\000\001\178\001`\020\172\000\136\000\000\000\000\000\000\031\224\020\172\031N\020\172\030*\020\172!\004\020\172 r\020\172\029\152\020\172\023\\\020\172\023\238\020\172\024\128\000\000,\182\020\172,Z\020\172+\254\020\172\001\030\020\172\000\000\020\172+\162\020\172'R\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172\000\000\020\172%\226\020\172&>\020\172&\154\020\172)\214\020\172&\246\000\000\003\206\020\024\000\000\020\172\000'\000\000\000\000\005\156\020\172\000\000\000\000\000\017\005\018\000\000\000\000\000\000\000\000\000\000\000\030\020\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004h\020\024\000\000\020\172\000%\000\000\000\000\000\000\000\000\000\000\020\172\000\250\000\022\000\000\000\000\000\188\020\172\000\192\0214\000\228\005\018\000\000\000\242\020\172\001\002\0214\000\252\005\018\000\000\006\202\020\172\000\027\005\018\000\000\000\226\020\172\000\000\000\000\0032\005\018\000\000\005\018\000\000\000\000\000\b\000\182\005\018\000\000\0014\000\000\000)\000\000\000)\000\000\001\014\000\000\000\000\001H\005\018\000\000\001\014\020\172\000\254\005\018\000\000\000\000\001H\000\000\000\000\000\000\020\172\000\130!~\001D\0014\000\000\000\000\007t\000\000\000\000\000\128\000\000\000\000\t\180\017\030\000\000\020\172\000\000!~\000\000\000\000\000\029!\232\000\000!~\000\000\000Z\000\000\000\000\000\000\000/\020\024\000\000\000\000\000\000\000T\000\000\012\142\000!\000\000\000\000\000\156\000\000\018B\018\212\016\140\r\178\000\128\005\018\000\000\000\000\006F\000\000\000\000\000_\000\000\020\172\000\000\002\236\000\000"
  
  let[@inline] action_displacement =
    fun i ->
      MenhirLib.PackedIntArray.get16 action_displacement i
  
  let action_data =
    "\001\217\004u\003\214\004\158\001\237\b&\006\026\006\134\006\242\001\217\001\217\000\233\001\217\001\217\001\217\001\217\001\217\001\217\005\006\001%\001\217\001\217\001\217\001\217\001\217\001\186\001\217\004e\002\145\001\217\005\n\001%\001\217\001\217\001\217\001\217\001\217\001\217\001\217\001\217\001~\001\217\001\217\bg\001\194\001\217\001\217\001\237\001\217\b\006\002\137\001\217\001\217\002\162\002\162\003v\002\162\001\217\007\198\002\162\001\217\001\217\002\137\004\150\001\217\0066\b\026\002\153\001\217\001\217\007\246\007&\004\241\001\217\001\217\001\217\001\217\000\242\001\217\001\217\001\217\001\217\002=\006\154\004\241\bJ\001\217\006R\007\182\005\"\000\222\002=\002=\002\158\002=\002=\002=\002=\002=\002=\004\198\004U\002=\002=\002=\002=\002=\001v\002=\007\146\006\178\002=\006\186\002y\002=\002=\002=\002=\002=\002=\002=\002=\001~\002=\002=\002y\002\250\002=\002=\002m\002=\003\026\004]\002=\002=\006\194\002\162\006\206\004m\002=\002\162\002\129\002=\002=\004]\006\214\002=\006\222\007n\000\026\002=\002=\002\242\003n\002Z\002=\002=\002=\002=\007N\002=\002=\002=\002=\007*\002q\002q\002q\002=\002q\002q\002q\002q\002q\002q\002q\002q\002\129\0076\007f\002q\002y\002\162\007\154\000\214\006\254\002q\002q\002q\001\014\002\230\002q\001\006\003.\001\030\002q\002q\002\129\002q\002q\003:\001\"\003f\003r\002\162\002q\001*\003\206\002q\003\238\003\226\002q\002q\004&\002q\002q\005\146\002q\002q\005\022\005\026\002q\002q\007Z\002q\000\000\002q\002q\000\000\000\000\002q\002q\002q\002q\002q\002q\000\000\000\000\007b\002q\002q\000\000\000\000\000\000\000\000\002q\003e\000\000\000\000\000\000\000\000\000\000\000\000\002q\002q\003e\003e\000\000\003e\002\026\002\030\003e\003e\003e\000\000\000\000\003e\003e\002\"\003e\003e\000\000\003e\000\000\000\000\003e\000\000\000\000\002&\003e\002*\003e\002.\003e\0022\003e\000\000\003e\003e\000\000\000\000\003e\003e\000\000\003e\000\000\000\000\003e\003e\000\000\000\000\000\000\000\000\003e\000\000\000\000\0026\003e\000\000\000\000\003e\000\000\000\000\000\000\003e\003e\000\000\000\000\000\000\002:\003e\002>\003e\000\000\002B\003e\002F\003e\005\005\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\005\005\005\005\000\000\005\005\005\005\005\005\005\005\005\005\000\000\000\000\000\000\000\000\000\000\005\005\005\005\005\005\005\005\005\005\000\000\000\000\005\005\000\000\000\000\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\005\000\000\005\005\005\005\005\005\000\000\005\005\000\000\002e\005\005\005\005\000\000\000\000\000\000\000\000\005\005\000\000\000\000\005\005\005\005\002e\000\000\005\005\000\000\000\000\002e\005\005\001\205\000\000\003\002\000\000\005\005\005\005\005\005\005\005\000\000\005\005\005\005\005\005\005\005\001\193\001\193\001\193\000\000\001\193\001\193\001\193\001\193\001\193\001\193\001\193\001\193\000\000\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\001\193\001\193\001\193\000\000\000\000\001\193\000\000\000\000\000\000\001\193\001\193\000\000\001\193\001\193\000\000\002\162\003~\000\000\000\000\001\193\000\000\000\000\001\193\000\000\000\000\001\193\001\193\000\000\001\193\001\193\000\000\001\193\001\193\bw\000\000\001\193\001\193\000\000\001\193\000\000\007\014\001\193\000\000\000\000\001\193\001\193\001\193\001\193\001\193\001\193\000\000\000\000\000\000\001\193\001\193\000\000\000\000\000\000\000\000\001\193\002E\000\000\000\000\000\000\000\000\000\000\000\000\001\193\001\193\002E\002E\000\000\002E\002E\002E\002E\002E\000\000\000\000\000\000\000\000\000\000\002E\002E\002E\006\n\002E\000\000\000\000\002E\000\000\000\000\002E\002E\002E\002E\002E\002E\002E\002E\001~\002E\002E\000\000\006\018\002E\002E\000\000\002E\000\000\000\000\002E\002E\000\000\000\000\000\000\000\000\002E\000\000\000\000\002E\002E\000\000\000\000\002E\000\000\000\000\000\000\002E\000\000\000\000\000\000\000\000\002E\002E\002E\002E\001\225\002E\002E\002E\002E\000\000\000\000\000\000\000\000\001\225\001\225\000\000\001\225\001\225\001\225\001\225\001\225\000\000\000\000\000\000\000\000\000\000\001\225\001\225\001\225\006v\001\225\000\000\000\000\001\225\000\000\000\000\001\225\001\225\001\225\001\225\001\225\001\225\001\225\001\225\001~\001\225\001\225\000\000\006~\001\225\001\225\000\000\001\225\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\001\225\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\001\225\001\225\001\225\001\225\000\000\001\225\001\225\001\225\001\225\000\022\001&\003\030\000\000\003&\003J\003R\000&\003Z\000*\003b\000.\000\000\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\000\003\134\0002\002\005\000\000\000\000\003\146\000\000\000\000\000\000\000:\000>\000\000\003\154\003\162\000\000\000\000\000\000\000\000\000\000\003\178\000\000\000\000\000J\000\000\000\000\003V\000\226\000\000\003\186\003\194\000\000\003\202\003\218\000\000\000\000\007\138\003\222\000\000\001.\000\000\000\000\004\162\000\000\000\000\004\166\002\005\004\174\004\182\004\190\004\194\000\000\003\185\000\000\002\005\004\210\000\000\000\000\000\000\000\000\004\218\003\185\003\185\000\000\003\185\002\026\002\030\003\185\003\185\000\000\000\000\000\000\000\000\000\000\002\"\003\185\003\185\000\000\003\185\000\000\000\000\003\185\000\000\000\000\002&\003\185\002*\003\185\002.\003\185\0022\003\185\000\000\003\185\003\185\000\000\000\000\003\185\003\185\000\000\003\185\000\000\000\000\003\185\003\185\000\000\000\000\000\000\000\000\003\185\000\000\000\000\0026\003\185\000\000\000\000\003\185\000\000\000\000\000\000\003\185\000\000\000\000\000\000\000\000\002:\003\185\002>\003\185\000\000\002B\003\185\002F\003\185\001\229\001\229\001\229\000\000\001\229\001\229\001\229\001\229\001\229\001\229\001\229\001\229\000\000\000\000\000\000\001\229\000\000\000\000\000\000\000\000\000\000\001\229\001\229\000\000\000\000\000\000\001\229\000\000\000\000\000\000\001\229\001\229\000\000\001\229\001\229\000\000\000\000\000\000\000\000\000\000\001\229\000\000\000\000\001\229\000\000\000\000\001\229\001\229\000\000\001\229\001\229\000\000\001\229\001\229\000\000\000\000\001\229\001\229\000\000\001\229\000\000\000\000\001\229\000\000\000\000\001\229\000\000\001\229\001\229\001\229\001\229\000\000\000\000\000\000\000\000\001\229\000\000\000\000\003e\003e\001\229\003e\002\026\002\030\003e\003e\000\000\000\000\000\006\001\253\000\000\002\"\003e\003e\000\000\003e\000\000\000\000\003e\000\000\000\000\002&\003e\002*\003e\002.\003e\0022\003e\000\000\003e\003e\000\000\000\000\003e\003e\000\000\006\234\000\000\000\000\003e\003e\000\000\000\000\000\000\000\000\003e\000\000\000\000\0026\003e\000\000\000\000\003e\000\000\000\000\000\000\003e\000\000\000\000\000\000\000\000\002:\003e\002>\003e\000\000\002B\003e\002F\003e\000\022\001&\003\030\000\000\003&\003J\003R\000&\003Z\000*\003b\000.\000\000\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\000\003\134\0002\001\245\000\000\000\000\003\146\000\000\000\000\000\000\000:\000>\000\000\003\154\003\162\000\000\000\000\000\000\000\000\000\000\003\178\000\000\000\000\000J\000\000\000\000\003V\000\226\000\000\003\186\003\194\000\000\003\202\003\218\000\000\000\000\007\138\003\222\000\000\001.\000\000\000\000\004\162\000\000\000\000\004\166\000\000\004\174\004\182\004\190\004\194\000\000\003\165\000\000\000\000\004\210\000\000\000\000\000\000\000\000\004\218\003\165\003\165\000\000\003\165\000\000\000\000\003\165\003\165\003\165\000\000\000\000\003\165\003\165\000\000\003\165\003\165\000\000\003\165\000\000\000\000\003\165\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\165\000\000\003\165\000\000\003\165\003\165\000\000\000\000\003\165\001V\000\000\003\165\000\000\000\000\003\165\003\165\000\000\000\000\000\000\000\000\003\165\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\165\003\165\000\000\000\000\000\000\003\133\003\165\000\000\003\165\000\000\000\000\003\165\000\000\003\165\003\133\003\133\000\000\003\133\003\165\000\000\003\133\003\133\003\133\000\000\000\000\003\133\003\133\000\000\003\133\003\133\000\000\003\133\000\000\000\000\003\133\000\000\000\000\000\000\003\133\000\000\003\133\000\000\003\133\000\000\003\133\000\000\003\133\003\133\000\000\000\000\003\133\001V\000\000\003\133\000\000\000\000\003\133\003\133\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\003\133\000\000\000\000\001Z\000\000\000\000\000\000\003\133\003\133\000\000\000\000\000\000\003\145\003\133\000\000\003\133\000\000\000\000\003\133\000\000\003\133\003\145\003\145\000\000\003\145\003\133\000\000\003\145\003\145\003\145\000\000\000\000\003\145\003\145\000\000\003\145\003\145\000\000\003\145\000\000\000\000\003\145\000\000\000\000\000\000\003\145\000\000\003\145\000\000\003\145\000\000\003\145\000\000\003\145\003\145\000\000\000\000\003\145\001V\000\000\003\145\000\000\000\000\003\145\003\145\000\000\000\000\000\000\000\000\003\145\000\000\000\000\000\000\003\145\000\000\000\000\001Z\000\000\000\000\000\000\003\145\003\145\000\000\000\000\000\000\003y\003\145\000\000\003\145\000\000\000\000\003\145\000\000\003\145\003y\003y\000\000\003y\003\145\000\000\003y\003y\003y\000\000\000\000\003y\003y\000\000\003y\003y\000\000\003y\000\000\000\000\003y\000\000\000\000\000\000\003y\000\000\003y\000\000\003y\000\000\003y\000\000\003y\003y\000\000\000\000\003y\001V\000\000\003y\000\000\000\000\003y\003y\000\000\000\000\000\000\000\000\003y\000\000\000\000\000\000\003y\000\000\000\000\001Z\000\000\000\000\000\000\003y\003y\000\000\000\000\000\000\003m\003y\000\000\003y\000\000\000\000\003y\000\000\003y\003m\003m\000\000\003m\003y\000\000\003m\003m\003m\000\000\000\000\003m\003m\000\000\003m\003m\000\000\003m\000\000\000\000\003m\000\000\000\000\000\000\003m\000\000\003m\000\000\003m\000\000\003m\000\000\003m\003m\000\000\000\000\003m\001V\000\000\003m\000\000\000\000\003m\003m\000\000\000\000\000\000\000\000\003m\000\000\000\000\000\000\003m\000\000\000\000\001Z\000\000\000\000\000\000\003m\003m\000\000\000\000\000\000\003\129\003m\000\000\003m\000\000\000\000\003m\000\000\003m\003\129\003\129\000\000\003\129\003m\000\000\003\129\003\129\003\129\000\000\000\000\003\129\003\129\000\000\003\129\003\129\000\000\003\129\000\000\000\000\003\129\000\000\000\000\000\000\003\129\000\000\003\129\000\000\003\129\000\000\003\129\000\000\003\129\003\129\000\000\000\000\003\129\001V\000\000\003\129\000\000\000\000\003\129\003\129\000\000\000\000\000\000\000\000\003\129\000\000\000\000\000\000\003\129\000\000\000\000\001Z\000\000\000\000\000\000\003\129\003\129\000\000\000\000\000\000\003\157\003\129\000\000\003\129\000\000\000\000\003\129\000\000\003\129\003\157\003\157\000\000\003\157\003\129\000\000\003\157\003\157\003\157\000\000\000\000\003\157\003\157\000\000\003\157\003\157\000\000\003\157\000\000\000\000\003\157\000\000\000\000\000\000\003\157\000\000\003\157\000\000\003\157\000\000\003\157\000\000\003\157\003\157\000\000\000\000\003\157\001V\000\000\003\157\000\000\000\000\003\157\003\157\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\003\157\000\000\000\000\001Z\000\000\000\000\000\000\003\157\003\157\000\000\000\000\000\000\003\153\003\157\000\000\003\157\000\000\000\000\003\157\000\000\003\157\003\153\003\153\000\000\003\153\003\157\000\000\003\153\003\153\003\153\000\000\000\000\003\153\003\153\000\000\003\153\003\153\000\000\003\153\000\000\000\000\003\153\000\000\000\000\000\000\003\153\000\000\003\153\000\000\003\153\000\000\003\153\000\000\003\153\003\153\000\000\000\000\003\153\001V\000\000\003\153\000\000\000\000\003\153\003\153\000\000\000\000\000\000\000\000\003\153\000\000\000\000\000\000\003\153\000\000\000\000\001Z\000\000\000\000\000\000\003\153\003\153\000\000\000\000\000\000\003\141\003\153\000\000\003\153\000\000\000\000\003\153\000\000\003\153\003\141\003\141\000\000\003\141\003\153\000\000\003\141\003\141\003\141\000\000\000\000\003\141\003\141\000\000\003\141\003\141\000\000\003\141\000\000\000\000\003\141\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\141\000\000\003\141\000\000\003\141\003\141\000\000\000\000\003\141\001V\000\000\003\141\000\000\000\000\003\141\003\141\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\141\003\141\000\000\000\000\000\000\003\181\003\141\000\000\003\141\000\000\000\000\003\141\000\000\003\141\003\181\003\181\000\000\003\181\003\141\000\000\003\181\003\181\003\181\000\000\000\000\003\181\003\181\000\000\001\150\003\181\000\000\003\181\000\000\000\000\003\181\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\003\181\000\000\003\181\003\181\000\000\000\000\003\181\001V\000\000\003\181\000\000\000\000\003\181\003\181\000\000\000\000\000\000\000\000\003\181\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\181\003\181\000\000\000\000\000\000\003q\003\181\000\000\003\181\000\000\000\000\003\181\000\000\003\181\003q\003q\000\000\003q\003\181\000\000\003q\003q\003q\000\000\000\000\003q\003q\000\000\003q\003q\000\000\003q\000\000\000\000\003q\000\000\000\000\000\000\003q\000\000\003q\000\000\003q\000\000\003q\000\000\003q\003q\000\000\000\000\003q\001V\000\000\003q\000\000\000\000\003q\003q\000\000\000\000\000\000\000\000\003q\000\000\000\000\000\000\003q\000\000\000\000\001Z\000\000\000\000\000\000\003q\003q\000\000\000\000\000\000\003\177\003q\000\000\003q\000\000\000\000\003q\000\000\003q\003\177\003\177\000\000\003\177\003q\000\000\003\177\003\177\003\177\000\000\000\000\003\177\003\177\000\000\001\150\003\177\000\000\003\177\000\000\000\000\003\177\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\003\177\000\000\003\177\003\177\000\000\000\000\003\177\001V\000\000\003\177\000\000\000\000\003\177\003\177\000\000\000\000\000\000\000\000\003\177\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\177\003\177\000\000\000\000\000\000\003\161\003\177\000\000\003\177\000\000\000\000\003\177\000\000\003\177\003\161\003\161\000\000\003\161\003\177\000\000\003\161\003\161\003\161\000\000\000\000\003\161\003\161\000\000\003\161\003\161\000\000\003\161\000\000\000\000\003\161\000\000\000\000\000\000\003\161\000\000\003\161\000\000\003\161\000\000\003\161\000\000\003\161\003\161\000\000\000\000\003\161\001V\000\000\003\161\000\000\000\000\003\161\003\161\000\000\000\000\000\000\000\000\003\161\000\000\000\000\000\000\003\161\000\000\000\000\001Z\000\000\000\000\000\000\003\161\003\161\000\000\000\000\000\000\003\173\003\161\000\000\003\161\000\000\000\000\003\161\000\000\003\161\003\173\003\173\000\000\003\173\003\161\000\000\003\173\003\173\003\173\000\000\000\000\003\173\003\173\000\000\001\150\003\173\000\000\003\173\000\000\000\000\003\173\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\003\173\000\000\003\173\003\173\000\000\000\000\003\173\001V\000\000\003\173\000\000\000\000\003\173\003\173\000\000\000\000\000\000\000\000\003\173\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\173\003\173\000\000\000\000\000\000\002\161\003\173\000\000\003\173\000\000\000\000\003\173\000\000\003\173\002\161\002\161\000\000\002\161\003\173\000\000\001\142\002\202\002\161\000\000\000\000\002\161\002\161\000\000\001\150\002\161\000\000\002\161\000\000\000\000\002\161\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\002\210\000\000\002\161\002\161\000\000\000\000\002\161\001V\000\000\002\161\000\000\000\000\002\161\002\161\000\000\000\000\000\000\000\000\002\161\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\002\161\002\161\000\000\000\000\000\000\003u\002\161\000\000\002\161\000\000\000\000\002\161\000\000\002\161\003u\003u\000\000\003u\002\161\000\000\003u\003u\003u\000\000\000\000\003u\003u\000\000\003u\003u\000\000\003u\000\000\000\000\003u\000\000\000\000\000\000\003u\000\000\003u\000\000\003u\000\000\003u\000\000\003u\003u\000\000\000\000\003u\001V\000\000\003u\000\000\000\000\003u\003u\000\000\000\000\000\000\000\000\003u\000\000\000\000\000\000\003u\000\000\000\000\001Z\000\000\000\000\000\000\003u\003u\000\000\000\000\000\000\003}\003u\000\000\003u\000\000\000\000\003u\000\000\003u\003}\003}\000\000\003}\003u\000\000\003}\003}\003}\000\000\000\000\003}\003}\000\000\003}\003}\000\000\003}\000\000\000\000\003}\000\000\000\000\000\000\003}\000\000\003}\000\000\003}\000\000\003}\000\000\003}\003}\000\000\000\000\003}\001V\000\000\003}\000\000\000\000\003}\003}\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\003}\000\000\000\000\001Z\000\000\000\000\000\000\003}\003}\000\000\000\000\000\000\003\169\003}\000\000\003}\000\000\000\000\003}\000\000\003}\003\169\003\169\000\000\003\169\003}\000\000\003\169\003\169\003\169\000\000\000\000\003\169\003\169\000\000\003\169\003\169\000\000\003\169\000\000\000\000\003\169\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\169\000\000\003\169\000\000\003\169\003\169\000\000\000\000\003\169\001V\000\000\003\169\000\000\000\000\003\169\003\169\000\000\000\000\000\000\000\000\003\169\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\169\003\169\000\000\000\000\000\000\003\149\003\169\000\000\003\169\000\000\000\000\003\169\000\000\003\169\003\149\003\149\000\000\003\149\003\169\000\000\003\149\003\149\003\149\000\000\000\000\003\149\003\149\000\000\003\149\003\149\000\000\003\149\000\000\000\000\003\149\000\000\000\000\000\000\003\149\000\000\003\149\000\000\003\149\000\000\003\149\000\000\003\149\003\149\000\000\000\000\003\149\001V\000\000\003\149\000\000\000\000\003\149\003\149\000\000\000\000\000\000\000\000\003\149\000\000\000\000\000\000\003\149\000\000\000\000\001Z\000\000\000\000\000\000\003\149\003\149\000\000\000\000\000\000\003\137\003\149\000\000\003\149\000\000\000\000\003\149\000\000\003\149\003\137\003\137\000\000\003\137\003\149\000\000\003\137\003\137\003\137\000\000\000\000\003\137\003\137\000\000\003\137\003\137\000\000\003\137\000\000\000\000\003\137\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\137\000\000\003\137\000\000\003\137\003\137\000\000\000\000\003\137\001V\000\000\003\137\000\000\000\000\003\137\003\137\000\000\000\000\000\000\000\000\003\137\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\137\003\137\000\000\000\000\000\000\000\000\003\137\000\000\003\137\000\000\000\000\003\137\000\000\003\137\000\000\000V\000Z\000^\003\137\000b\000f\000j\000n\000r\000v\000z\000~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000:\000\134\000\000\000\000\000\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\146\000\150\000\154\000\000\000\000\000\158\000\162\000\166\000\170\000\000\000\174\000\178\000\000\000\000\000\182\000\186\000\000\000\000\000\190\000\194\000\000\000\000\000\198\000\202\000\206\000V\000Z\000^\000\000\000b\000f\000j\000n\000r\000v\000z\000~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\130\000\000\004y\000\000\000\000\000\000\000\000\000\000\000\000\000:\000\134\000\000\000\000\000\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\146\000\150\000\154\000\000\000\000\000\158\000\162\000\166\000\170\000\000\000\174\000\178\000\000\000\000\000\182\000\186\000\000\000\000\000\190\000\194\000\000\000\000\000\198\000\202\000\206\000\030\002a\000\000\000\"\000\000\000&\000\000\000*\000\000\000.\000\000\000\000\001\130\002a\000\000\000\000\000\000\000\000\002\r\000\000\0002\000\000\000\249\000\000\0006\000\000\000\000\000\000\000:\000>\000\000\000B\000F\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000J\000\000\000\000\000R\000\226\000\000\000\234\000\238\000\000\000\000\000\242\000\000\000\000\000\246\000\000\000\000\001.\000\000\000\000\000\000\000\000\000\000\0012\000\000\0016\001:\000\000\000\030\000\249\003\230\000\"\000\000\000&\000\000\000*\000\000\000.\001>\000\000\000\000\002i\000\000\000\000\000\000\000\000\002a\000\000\0002\000\000\000\230\000\000\0006\000\000\000\000\000\000\000:\000>\000\000\000B\000F\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000J\000\000\000\000\000R\000\226\000\000\000\234\000\238\000\000\000\000\000\242\000\000\000\000\000\246\000\000\000\000\001.\003\209\000\000\000\000\000\000\000\000\0012\000\000\0016\001:\003\209\003\209\007\198\003\209\000\000\000\000\003\209\003\209\000\000\000\000\000\000\001>\000\000\000\000\003\209\003\209\000\000\003\209\000\000\000\000\003\209\000\000\000\000\000\000\003\209\000\000\003\209\000\000\003\209\000\000\003\209\000\000\003\209\003\209\000\000\000\000\003\209\001V\000\000\003\209\000\000\000\000\003\209\003\209\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\003\209\000\000\000\000\001Z\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\225\003\209\000\000\003\209\000\000\000\000\003\209\000\000\003\209\003\225\003\225\000\000\003\225\000\000\000\000\003\225\003\225\000\000\000\000\000\000\000\000\000\000\000\000\003\225\003\225\000\000\003\225\000\000\000\000\003\225\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\225\000\000\003\225\000\000\003\225\003\225\000\000\000\000\003\225\001V\000\000\003\225\000\000\000\000\003\225\003\225\000\000\000\000\000\000\000\000\003\225\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\225\000\000\000\000\000\000\000\000\003\197\003\225\000\000\003\225\000\000\000\000\003\225\000\000\003\225\003\197\003\197\000\000\003\197\000\000\000\000\003\197\003\197\000\000\000\000\000\000\000\000\000\000\000\000\003\197\003\197\000\000\003\197\000\000\000\000\003\197\000\000\000\000\000\000\003\197\000\000\003\197\000\000\003\197\000\000\003\197\000\000\003\197\003\197\000\000\000\000\003\197\001V\000\000\003\197\000\000\000\000\003\197\003\197\000\000\000\000\000\000\000\000\003\197\000\000\000\000\000\000\003\197\000\000\000\000\001Z\000\000\000\000\000\000\003\197\000\000\000\000\000\000\000\000\003\253\003\197\000\000\003\197\000\000\000\000\003\197\000\000\003\197\003\253\003\253\000\000\003\253\000\000\000\000\003\253\003\253\000\000\000\000\000\000\000\000\000\000\000\000\003\253\003\253\000\000\003\253\000\000\000\000\003\253\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\253\000\000\003\253\000\000\003\253\003\253\000\000\000\000\003\253\001V\000\000\003\253\000\000\000\000\003\253\003\253\000\000\000\000\000\000\000\000\003\253\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\253\000\000\000\000\000\000\000\000\004\001\003\253\000\000\003\253\000\000\000\000\003\253\000\000\003\253\004\001\004\001\000\000\004\001\000\000\000\000\004\001\004\001\000\000\000\000\000\000\000\000\000\000\000\000\001\150\004\001\000\000\004\001\000\000\000\000\004\001\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\004\001\000\000\004\001\004\001\000\000\000\000\004\001\001V\000\000\004\001\000\000\000\000\004\001\004\001\000\000\000\000\000\000\000\000\004\001\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\003\241\004\001\000\000\004\001\000\000\000\000\004\001\000\000\004\001\003\241\003\241\000\000\003\241\000\000\000\000\003\241\003\241\000\000\000\000\000\000\000\000\000\000\000\000\003\241\003\241\000\000\003\241\000\000\000\000\003\241\000\000\000\000\000\000\003\241\000\000\003\241\000\000\003\241\000\000\003\241\000\000\003\241\003\241\000\000\000\000\003\241\001V\000\000\003\241\000\000\000\000\003\241\003\241\000\000\000\000\000\000\000\000\003\241\000\000\000\000\000\000\003\241\000\000\000\000\001Z\000\000\000\000\000\000\003\241\000\000\000\000\000\000\000\000\003\229\003\241\000\000\003\241\000\000\000\000\003\241\000\000\003\241\003\229\003\229\000\000\003\229\000\000\000\000\003\229\003\229\000\000\000\000\000\000\000\000\000\000\000\000\003\229\003\229\000\000\003\229\000\000\000\000\003\229\000\000\000\000\000\000\003\229\000\000\003\229\000\000\003\229\000\000\003\229\000\000\003\229\003\229\000\000\000\000\003\229\001V\000\000\003\229\000\000\000\000\003\229\003\229\000\000\000\000\000\000\000\000\003\229\000\000\000\000\000\000\003\229\000\000\000\000\001Z\000\000\000\000\000\000\003\229\000\000\000\000\000\000\000\000\003\193\003\229\000\000\003\229\000\000\000\000\003\229\000\000\003\229\003\193\003\193\000\000\003\193\000\000\000\000\003\193\003\193\000\000\000\000\000\000\000\000\000\000\000\000\003\193\003\193\000\000\003\193\000\000\000\000\003\193\000\000\000\000\000\000\003\193\000\000\003\193\000\000\003\193\000\000\003\193\000\000\003\193\003\193\000\000\000\000\003\193\001V\000\000\003\193\000\000\000\000\003\193\003\193\000\000\000\000\000\000\000\000\003\193\000\000\000\000\000\000\003\193\000\000\000\000\001Z\000\000\000\000\000\000\003\193\000\000\000\000\000\000\000\000\003\233\003\193\000\000\003\193\000\000\000\000\003\193\000\000\003\193\003\233\003\233\000\000\003\233\000\000\000\000\003\233\003\233\000\000\000\000\000\000\000\000\000\000\000\000\003\233\003\233\000\000\003\233\000\000\000\000\003\233\000\000\000\000\000\000\003\233\000\000\003\233\000\000\003\233\000\000\003\233\000\000\003\233\003\233\000\000\000\000\003\233\001V\000\000\003\233\000\000\000\000\003\233\003\233\000\000\000\000\000\000\000\000\003\233\000\000\000\000\000\000\003\233\000\000\000\000\001Z\000\000\000\000\000\000\003\233\000\000\000\000\000\000\000\000\003\213\003\233\000\000\003\233\000\000\000\000\003\233\000\000\003\233\003\213\003\213\000\000\003\213\000\000\000\000\003\213\003\213\000\000\000\000\000\000\000\000\000\000\000\000\003\213\003\213\000\000\003\213\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\003\213\000\000\003\213\000\000\003\213\000\000\003\213\003\213\000\000\000\000\003\213\001V\000\000\003\213\000\000\000\000\003\213\003\213\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\000\000\001Z\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\217\003\213\000\000\003\213\000\000\000\000\003\213\000\000\003\213\003\217\003\217\000\000\003\217\000\000\000\000\003\217\003\217\000\000\000\000\000\000\000\000\000\000\000\000\003\217\003\217\000\000\003\217\000\000\000\000\003\217\000\000\000\000\000\000\003\217\000\000\003\217\000\000\003\217\000\000\003\217\000\000\003\217\003\217\000\000\000\000\003\217\001V\000\000\003\217\000\000\000\000\003\217\003\217\000\000\000\000\000\000\000\000\003\217\000\000\000\000\000\000\003\217\000\000\000\000\001Z\000\000\000\000\000\000\003\217\000\000\000\000\000\000\000\000\003\221\003\217\000\000\003\217\000\000\000\000\003\217\000\000\003\217\003\221\003\221\000\000\003\221\000\000\000\000\003\221\003\221\000\000\000\000\000\000\000\000\000\000\000\000\003\221\003\221\000\000\003\221\000\000\000\000\003\221\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\221\000\000\003\221\000\000\003\221\003\221\000\000\000\000\003\221\001V\000\000\003\221\000\000\000\000\003\221\003\221\000\000\000\000\000\000\000\000\003\221\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\003\221\000\000\000\000\000\000\000\000\000\000\003\221\000\000\003\221\002\225\002\225\003\221\002\225\003\221\000\000\001\142\002\202\000\000\000\000\000\000\000\000\000\000\000\000\001\150\002\225\000\000\002\225\000\000\000\000\002\225\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\002\210\000\000\002\225\002\225\000\000\000\000\002\225\001V\000\000\002\225\000\000\000\000\002\225\002\225\000\000\000\000\000\000\000\000\002\225\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\002\225\002\225\000\000\000\000\000\000\003\201\002\225\000\000\002\225\000\000\000\000\002\225\000\000\002\225\003\201\003\201\000\000\003\201\000\000\000\000\003\201\003\201\000\000\000\000\000\000\000\000\000\000\000\000\003\201\003\201\000\000\003\201\000\000\000\000\003\201\000\000\000\000\000\000\003\201\000\000\003\201\000\000\003\201\000\000\003\201\000\000\003\201\003\201\000\000\000\000\003\201\001V\000\000\003\201\000\000\000\000\003\201\003\201\000\000\000\000\000\000\000\000\003\201\000\000\000\000\000\000\003\201\000\000\000\000\001Z\000\000\000\000\000\000\003\201\000\000\000\000\000\000\000\000\003\245\003\201\000\000\003\201\000\000\000\000\003\201\000\000\003\201\003\245\003\245\000\000\003\245\000\000\000\000\003\245\003\245\000\000\000\000\000\000\000\000\000\000\000\000\003\245\003\245\000\000\003\245\000\000\000\000\003\245\000\000\000\000\000\000\003\245\000\000\003\245\000\000\003\245\000\000\003\245\000\000\003\245\003\245\000\000\000\000\003\245\001V\000\000\003\245\000\000\000\000\003\245\003\245\000\000\000\000\000\000\000\000\003\245\000\000\000\000\000\000\003\245\000\000\000\000\001Z\000\000\000\000\000\000\003\245\000\000\000\000\000\000\000\000\004\005\003\245\000\000\003\245\000\000\000\000\003\245\000\000\003\245\004\005\004\005\000\000\004\005\000\000\000\000\004\005\004\005\000\000\000\000\000\000\000\000\000\000\000\000\001\150\004\005\000\000\004\005\000\000\000\000\004\005\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\004\005\000\000\004\005\004\005\000\000\000\000\004\005\001V\000\000\004\005\000\000\000\000\004\005\004\005\000\000\000\000\000\000\000\000\004\005\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\004\005\000\000\000\000\000\000\000\000\003\205\004\005\000\000\004\005\000\000\000\000\004\005\000\000\004\005\003\205\003\205\000\000\003\205\000\000\000\000\003\205\003\205\000\000\000\000\000\000\000\000\000\000\000\000\003\205\003\205\000\000\003\205\000\000\000\000\003\205\000\000\000\000\000\000\003\205\000\000\003\205\000\000\003\205\000\000\003\205\000\000\003\205\003\205\000\000\000\000\003\205\001V\000\000\003\205\000\000\000\000\003\205\003\205\000\000\000\000\000\000\000\000\003\205\000\000\000\000\000\000\003\205\000\000\000\000\001Z\000\000\000\000\000\000\003\205\000\000\000\000\000\000\000\000\004\t\003\205\000\000\003\205\000\000\000\000\003\205\000\000\003\205\004\t\004\t\000\000\004\t\000\000\000\000\004\t\004\t\000\000\000\000\000\000\000\000\000\000\000\000\001\150\004\t\000\000\004\t\000\000\000\000\004\t\000\000\000\000\000\000\001\158\000\000\002\178\000\000\002\194\000\000\004\t\000\000\004\t\004\t\000\000\000\000\004\t\001V\000\000\004\t\000\000\000\000\004\t\004\t\000\000\000\000\000\000\000\000\004\t\000\000\000\000\000\000\002\186\000\000\000\000\001Z\000\000\000\000\000\000\004\t\000\000\000\000\000\000\000\000\003\029\004\t\000\000\004\t\000\000\000\000\004\t\000\000\004\t\003\029\003\029\000\000\003\029\000\000\000\000\0052\005:\000\000\000\000\000\000\000\000\000\000\000\000\005B\003\029\000\000\003\029\000\000\000\000\003\029\000\000\000\000\000\000\005J\000\000\005R\000\000\005Z\000\000\005b\000\000\003\029\003\029\000\000\000\000\003\029\001V\000\000\003\029\000\000\000\000\003\029\003\029\000\000\000\000\000\000\000\000\003\029\000\000\000\000\000\000\005j\000\000\000\000\001Z\000\000\000\000\000\000\003\029\000\000\000\000\000\000\000\000\003\237\003\029\000\000\003\029\000\000\000\000\003\029\000\000\003\029\003\237\003\237\000\000\003\237\000\000\000\000\003\237\003\237\000\000\000\000\000\000\000\000\000\000\000\000\003\237\003\237\000\000\003\237\000\000\000\000\003\237\000\000\000\000\000\000\003\237\000\000\003\237\000\000\003\237\000\000\003\237\000\000\003\237\003\237\000\000\000\000\003\237\001V\000\000\003\237\000\000\000\000\003\237\003\237\000\000\000\000\000\000\000\000\003\237\000\000\000\000\000\000\003\237\000\000\000\000\001Z\000\000\000\000\000\000\003\237\000\000\000\000\000\000\000\000\003\249\003\237\000\000\003\237\000\000\000\000\003\237\000\000\003\237\003\249\003\249\000\000\003\249\000\000\000\000\003\249\003\249\000\000\000\000\000\000\000\000\000\000\000\000\003\249\003\249\000\000\003\249\000\000\000\000\003\249\000\000\000\000\000\000\001\158\000\000\002\178\000\000\003\249\000\000\003\249\000\000\003\249\003\249\000\000\000\000\003\249\001V\000\000\003\249\000\000\000\000\003\249\003\249\000\000\000\000\000\000\000\000\003\249\000\000\000\000\000\030\002\186\000\000\000\"\001Z\000&\000\000\000*\003\249\000.\000\000\000\000\000\000\000\000\003\249\000\000\003\249\000\000\002\021\003\249\0002\003\249\007\214\000\000\0006\000\000\000\000\000\000\000:\000>\000\000\000B\000F\000\000\000\000\000\000\000\000\000\000\000N\000\000\000\000\000J\000\000\000\000\000R\000\226\000\000\000\234\000\238\000\000\000\000\000\242\000\000\000\249\000\246\000\000\000\249\001.\000\249\000\000\000\249\000\000\000\249\0012\000\000\0016\001:\000\000\000\000\007\218\000\000\000\000\000\000\000\249\000\000\007\230\000\000\000\249\001>\000\000\000\000\000\249\000\249\000\000\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\249\000\000\000\000\000\249\000\249\000\000\000\249\000\249\000\000\002\193\000\249\000\000\000\000\000\249\000\000\000\000\000\249\000\000\002\193\002\193\000\000\002\193\000\249\000\000\000\249\000\249\002\193\000\000\000\249\002\193\002\193\000\000\000\000\002\193\000\000\002\193\000\000\000\249\002\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\002\213\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002\193\002\213\000\000\000\000\000\000\000\000\002\213\000\000\000\000\002\213\002\213\002\193\002\193\002\213\000\000\002\213\000\000\002\193\002j\002\193\000\000\000\000\002\193\000\000\002\193\000\000\000\000\000\000\000\000\002\193\001\210\001\226\000\000\000\000\001\234\002\201\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\002\201\000\000\000\000\000\000\000\000\002\201\000\000\000\000\002\201\002\201\002\213\002\213\002\201\000\000\002\201\000\000\002z\002j\002\138\000\000\000\000\002\130\000\000\002\213\000\000\000\000\000\000\000\000\002\213\001\210\001\226\000\000\000\000\001\234\002\217\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\002\217\000\000\000\000\000\000\000\000\002\217\000\000\000\000\002\217\002\217\002\201\002\201\002\217\000\000\002\217\000\000\002\201\002j\002\201\000\000\000\000\002\201\000\000\002\201\000\000\000\000\000\000\000\000\002\201\001\210\001\226\000\000\000\000\001\234\002\189\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\002\189\002\189\002r\002\189\000\000\000\000\000\000\000\000\002\189\000\000\000\000\002\189\002\189\002\217\002\217\002\189\000\000\002\189\000\000\002z\002\189\002\138\000\000\000\000\002\130\000\000\002\146\000\000\000\000\000\000\000\000\002\217\001\210\001\226\000\000\000\000\001\234\002\185\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\002\185\002\185\002\189\002\185\000\000\000\000\000\000\000\000\002\185\000\000\000\000\002\185\002\185\002\189\002\189\002\185\000\000\002\185\000\000\002\189\002\185\002\189\000\000\000\000\002\189\000\000\002\189\000\000\000\000\000\000\000\000\002\189\001\210\001\226\000\000\000\000\001\234\002\205\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002\185\002\205\000\000\000\000\000\000\000\000\002\205\000\000\000\000\002\205\002\205\002\185\002\185\002\205\000\000\002\205\000\000\002\185\002j\002\185\000\000\000\000\002\185\000\000\002\185\000\000\000\000\000\000\000\000\002\185\001\210\001\226\000\000\000\000\001\234\002\209\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\002\209\000\000\000\000\000\000\000\000\002\209\000\000\000\000\002\209\002\209\002\205\002\205\002\209\000\000\002\209\000\000\002\205\002j\002\205\000\000\000\000\002\130\000\000\002\205\000\000\000\000\000\000\000\000\002\205\001\210\001\226\000\000\000\000\001\234\002\197\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\002\197\002\197\002r\002\197\000\000\000\000\000\000\000\000\002\197\000\000\000\000\002\197\002\197\002\209\002\209\002\197\000\000\002\197\000\000\002z\002\197\002\209\000\000\000\000\002\130\000\000\002\209\000\000\000\000\000\000\000\000\002\209\001\210\001\226\000\000\000\000\001\234\000\169\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002\197\000\169\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\169\000\169\002\197\002\197\002\018\000\000\002b\000\000\002\197\002j\002\197\000\000\000\000\002\197\000\000\002\197\000\000\000\000\000\000\000\000\002\197\001\210\001\226\000\000\000\000\001\234\0035\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\0035\0035\002r\0035\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\169\0035\000\000\0035\000\000\002z\0035\002\138\000\000\000\000\002\130\000\000\002\146\000\000\000\000\000\000\000\000\000\169\001\210\001\226\000\000\000\000\001\234\003I\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\0035\003I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0035\000\000\003I\000\000\003I\000\000\0035\002j\0035\000\000\000\000\0035\000\000\0035\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003M\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003I\000\000\003M\000\000\003M\000\000\003I\002j\003I\000\000\000\000\002\130\000\000\003I\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003Q\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003M\000\000\003Q\000\000\003Q\000\000\002z\002j\003M\000\000\000\000\002\130\000\000\003M\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\0039\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\0039\0039\002r\0039\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003Q\000\000\0039\000\000\0039\000\000\002z\0039\002\138\000\000\000\000\002\130\000\000\003Q\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\002\253\002\253\0039\002\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0039\000\000\002\253\000\000\002\253\000\000\0039\002\253\0039\000\000\000\000\0039\000\000\0039\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002\253\003\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\253\002\253\003\t\000\000\003\t\000\000\002\253\002j\002\253\000\000\000\000\002\253\000\000\002\253\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\003\254\004\006\002r\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\t\003\t\004\014\000\000\004.\000\000\003\t\0046\003\t\000\000\000\000\003\t\000\000\003\t\000\000\000\000\000\000\000\000\000\000\004>\004F\000\000\000\000\004N\000\000\000\000\000\177\000\000\000\000\004V\004^\000\000\000\000\003\005\003\005\004f\003\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\177\003\005\000\000\003\005\000\000\004n\003\005\004v\000\000\000\000\004~\000\000\004\134\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\003\001\003\001\003\005\003\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\005\003\005\003\001\000\000\003\001\000\000\003\005\003\001\003\005\000\000\000\000\003\005\000\000\003\005\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\003\001\003\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\001\003\001\003\025\000\000\003\025\000\000\003\001\002j\003\001\000\000\000\000\003\001\000\000\003\001\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003E\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\025\003\025\003E\000\000\003E\000\000\002z\002j\002\138\000\000\000\000\002\130\000\000\002\146\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\002\249\002\249\002r\002\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003E\000\000\002\249\000\000\002\249\000\000\003E\002\249\003E\000\000\000\000\003E\000\000\003E\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002\249\003\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\249\002\249\003\r\000\000\003\r\000\000\002\249\002j\002\249\000\000\000\000\002\249\000\000\002\249\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\r\003\r\003\017\000\000\003\017\000\000\003\r\002j\003\r\000\000\000\000\002\130\000\000\003\r\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\000\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\017\003\017\003\021\000\000\003\021\000\000\002z\002j\003\017\000\000\000\000\002\130\000\000\003\017\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003U\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\001\202\002\n\002r\003U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\021\003\021\003U\000\000\003U\000\000\002z\002j\002\138\000\000\000\000\002\130\000\000\003\021\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003=\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\003=\003=\002r\003=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003U\000\000\003=\000\000\003=\000\000\002z\003=\002\138\000\000\000\000\002\130\000\000\002\146\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\003A\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\003A\003A\003=\003A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\000\003A\000\000\003A\000\000\003=\003A\003=\000\000\000\000\003=\000\000\003=\000\000\000\000\000\000\000\000\000\000\001\210\001\226\000\000\000\000\001\234\000\185\000\000\001\242\000\000\000\000\001\250\002\002\000\000\000\000\005z\005\130\003A\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\000\005\138\000\000\005\154\000\000\003A\005\162\003A\000\000\000\000\003A\000\000\003A\000\000\000\000\000\000\000\000\000\000\005\170\005\178\000\000\000\000\005\186\000\000\000\000\005\194\000\000\000\000\005\202\005\210\000\000\000\000\000\000\000\000\005\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\005\226\000\000\005\234\000\000\000\000\005\242\000\000\005\250"
  
  let[@inline] action_data =
    fun i ->
      MenhirLib.PackedIntArray.get16 action_data i
  
  let[@inline] action =
    fun i j ->
      let k = MenhirLib.RowDisplacementDecode.decode (action_displacement i) in
      action_data (k + j)
  
  let lhs =
    "\001\000lkkjiiiihhggffeeeeeeeeeeeedccbaaaa````_^]]\\\\[[ZYXWVUTSRRQPPPONNMLKKJJIIHGFFEEDCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAA@?>=<<;;::998877665544333322221100/.-,,++**))((''&&%%$$################\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"!!!!!!!!!!!!!!!!  \031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\031\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\029\029\029\028\028\028\028\028\028\028\028\028\027\026\026\026\025\024\023\023\022\022\021\021\020\020\019\019\019\018\018\017\016\015\015\014\014\014\014\014\014\014\014\r\r\r\r\r\r\r\r\r\r\012\011\n\t\b\007\007\006\005\004\003\002"
  
  let[@inline] lhs =
    fun i ->
      MenhirLib.PackedIntArray.get8 lhs i
  
  let goto_displacement =
    "\000\000\000\000\000*\000\000\001\156\000\000\019\1284\2069\178\000\000\000\000\000\000\000\000-\214\000\000\000\0001\180\026<\020\2222|\000\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\018\r\146\000\000/\166.\\\000\000\0004\000\000\000\000\000\000\000\254\000\000\000B\000\000\000\000\000\000\000h\000\204\000\000\018\168\000\0000j8\2385\1466\024\000\000\000\000\000\000\000\000\000\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\174\000\000\r\228\0304\000\000\000\250/\232\000\2509p\000\2508\172\000\250\000\000\000\000\000\000\000\000\000L\000\180\000\000\022\142\000\000*\192\000\000'\166\000\000\000\000\000\000(,\000\000&\026\000\000\"~\000\000%\152\000\000\031\234\000\000\"<\000\000\024>\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\144\000\000\000\000\000\000\025n\000\000 .\000\000 p\000\000&\\\000\000!x\000\000 \242\000\000!4\000\000!\186\000\000\000\000\000\000\028,\000\000\000\000\000\0003\132\000\2501\246\000\2503@\000\250.\158\000\250.\024\000\250\000\000\000\000\000\000\000\000\000\000\000\000\016\248\000\000\023f\000\000\000\000\000\000\000\250\000\250\000\250\000\000\011\\4H\000\250\000<\000\156\028~\000\000\000\000\000V\000\000\000\000\000\0003\198\000\250\000/\002l\022\224\000\000\000\000\0210\000\000\000\000\000B\018V\000\000\004\012\000\000\014j\000\000\000\000/b\000\2500\172\000\2509\236\000\000\000N\000\0005\212\000\2507\030\000\2506Z\000\250\000\000\021\182\000\000\005\172\000\000\000\000\015\200\000\148\000\198\030\186\000\000\000\250\000\000,\206\000\000*~\000\000\026z\000Z\026\210\000\000\000\000\000\000\029\220\000\000&\226\000\000$\012\000\000$N\000\000,\140\000\000#\200\000\000+\132\000\000#\134\000\000+\200\000\000+B\000\000%V\000\000,\n\000\000%\018\000\000\000\000\000\000\020\006\000\000\007L\006|7b\000\2508h\000\2507\164\000\250\000\000\000\162\000\000\000\000\000\000\000\206\000\0008&\000\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\000\000\000\022\b\000\000\000\000\000\000\000\000\000\1320\240\000\2505\016\000\25012\000\250/ \000\2502:\000\2502\254\000\2506\220\000\2504\138\000\250\000\000\000\000\031\152\000\000-\018\000\000\029\004\000\000\029V\000\000(\240\000\000)4\000\000$\208\000\000)\248\000\000#\004\000\000*:\000\000\"\194\000\000'\234\000\000&\160\000\000'd\000\000-T\000\000(\174\000\000)v\000\000\000\000\000\183\000\146\000\000\020X\000\000\000\000\000\000\000\153\023\184\000\000\000\000\000\000\b\028\000\000\000\000\000\000\000\000\000\000\000\000\027\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\136\000\000\017\208\000\000\000\000\000\000\000\000\000\000\000\000\000\028\000\146\000\000\000\000\000\000\000\000\014\188\000\000\016 \000\000\012,\000\000\000\000\015B\000\000\017~\000\000\012\252\000\000\000Z\019.\000\000\t\188\000\000\000\000\025\022\000\000\000\000\000\000\b\236\000\000\003<\000\000\000\000\000C\000\000\004\220\000\000\000\000\000\000\000p\000\000\000<\000\000\000\000\000\000\000\000\000+\000Y\000\000\000\000\000\174\000\000\000u\000\000\000\000\000\166\000\000\000\000\000\000\000\160\000\000\000\234\000\000\000\b\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\000\000\250\000\250\000\000\025\244\000\000\000\000\000\000\000\000\000\141\000\000\000\000\027T\000\000\000\000\000\000\000\000\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\000\000\250\000\000\000\000\000\000\000\165\000\000\000\250\000\250\000\250\000\250\000\000\n\140\000\000\000\000\000O\000\000\000\000\000\000\000\000\016\166\000\000\000\000\000\000"
  
  let[@inline] goto_displacement =
    fun i ->
      MenhirLib.PackedIntArray.get16 goto_displacement i
  
  let goto_data =
    "\0019\001:\000Q\001;\001\205\001<\001=\001>\001\249\001\251\001?\001@\001A\001\233\0005\001\136\001\234\000\003\000?\002\023\001\168\0007\001J\000R\002\r\001\138\001K\002\024\001L\001\213\000?\001^\000@\000\147\000?\001\171\000\203\000?\000\003\000C\002\001\002\004\001\221\001\213\000Z\000[\001\129\000?\001\130\000\203\001\222\001\207\000\210\000E\001\235\002\025\001\216\001\137\000\005\001\140\001\141\002\005\000A\001\144\001\213\000\208\001\236\001\145\001\146\002\022\001\147\001\148\002\006\001\223\001\151\002\003\000\004\001\214\000?\000\005\000\251\001\152\0007\001\153\000?\001\154\001\228\001\210\001\155\001\156\001\201\000?\001\232\001\219\001\157\001\172\001\164\000w\001]\001\163\001\165\002\001\002\004\000x\0019\001:\000Q\001;\002\022\001<\001=\001>\001\169\001\208\001?\001@\001A\001\233\000\206\0013\001\234\000?\002\005\000C\001\224\001\209\001J\000R\001\209\002\022\001K\000?\001L\000C\001\159\001^\001\170\000F\001%\001\132\001\239\0016\000\209\0014\000\172\000\236\001\006\000F\000Z\000[\001\129\001\209\001\130\000_\001\225\000\194\000p\000X\001\237\001D\000\000\001\137\001\170\001\140\001\141\0014\000\000\001\144\000\000\001\230\001\236\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000G\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\233\000\000\000\000\002\021\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\001\236\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\001\211\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\001\199\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\001\200\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\001\204\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\002\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000\000\000\000\000\000\000\000\001\152\000\000\001\153\000\000\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000\000\000\000\001\165\000\000\000\000\000x\0019\001:\000Q\001;\000\000\001<\001=\001>\000\000\000\000\001?\001@\001A\001\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001J\000R\000\000\000\000\001K\000\000\001L\000\000\000\000\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\000Z\000[\001\129\000\000\001\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\140\001\141\000\000\000\000\001\144\000\000\000\000\000\000\001\145\001\146\000\000\001\147\001\148\000\000\000\000\001\151\000\000\000\000\000Q\000\000\000\000\000\000\001\152\000\000\001\153\000b\001\154\000\000\000\000\001\155\001\156\000\000\000\000\000\000\000\000\001\157\000\000\001\164\000w\000R\000\000\001\165\000S\000T\000x\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\184\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\001\243\001\245\001\248\001\253\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\185\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\001\255\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\187\000x\000\000\000\188\000\000\000\000\000\227\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\228\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\174\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\228\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\001\181\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\228\000\000\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000\254\000w\000\000\000\255\000\000\000\000\000\171\000x\000\000\000\000\000\000\001\179\000\000\000Y\000\000\000Z\000[\000Q\000\\\000\000\000]\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000R\000\000\000\000\000S\000T\001\191\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000l\001\176\000Y\000m\000Z\000[\001\007\000\\\000\000\000]\000\000\000n\000\000\000w\000\000\000\000\000\000\001\194\000\134\000x\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\228\000\000\000\000\000b\000\000\000\000\000\000\000\000\002\028\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\190\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\002\029\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\187\000x\000\000\000\188\000\000\000\000\001\183\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\228\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\001\161\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\223\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\198\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\001\188\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\002\018\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\001'\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\001\134\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\002\t\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\219\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\245\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\001H\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\167\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\216\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\171\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\192\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\171\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\001\139\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\150\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000\254\000w\000\000\000\255\000\000\000\000\000\149\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000Q\000\\\000\000\000]\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000R\000\000\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000Y\000m\000Z\000[\001\007\000\\\000\000\000]\000\000\000n\000\000\000w\000\000\000\000\000\000\001\193\000\134\000x\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\152\000x\000\000\000Q\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000R\000\000\000\000\000S\000T\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\253\000\000\000\000\000Y\000\000\000Z\000[\000\000\002\011\000l\002\012\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000\254\000w\000\000\000\255\000\000\000k\001\244\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000Q\000\\\000\000\000]\000\000\000\000\000\253\000l\000\000\000\000\000m\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000k\000w\000R\000\000\000\000\000S\000T\000x\000\254\000\000\000\000\000\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000Y\000m\000Z\000[\001\007\000\\\000\000\000]\000\000\000n\000\000\000w\000\000\000\000\000\000\001\t\001\005\000x\000\000\000\000\000\000\000\000\000\000\000k\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\001\007\000S\000T\000\000\000c\000n\000\000\000w\000r\000\000\000\000\001\b\000\000\000x\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\001\252\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\001\150\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\000\170\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\000r\000\000\000\205\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\148\000\000\000\000\000\000\000n\000\000\000w\000\000\000\134\000\000\000\000\001d\000x\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000\254\000w\000\000\000\255\000\000\000\000\001f\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000Q\000\\\000\000\000]\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000R\000\000\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000Y\000m\000Z\000[\001\007\000\\\000\000\000]\000\000\000n\000\000\000w\000\000\000\000\000\000\001\011\000\134\000x\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000\254\000w\000\000\000\255\000\000\000\000\000\183\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000Q\000\\\000\000\000]\000\000\000\000\000\000\000b\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000R\000\000\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000r\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000Y\000m\000Z\000[\001\007\000\\\000\000\000]\000\000\000n\000\000\000w\000\000\000\000\000\000\001$\000\134\000x\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000\148\000\000\000S\000T\000n\000c\000w\000\000\000\000\001`\000\000\002\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000Q\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000j\000\000\000\000\000\000\000\000\000\000\000R\000k\000\000\000S\000T\000\000\000c\000\000\000\000\000\000\000\130\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000l\000Z\000[\000m\000\\\000\000\000]\000\000\000\000\000\000\000\000\000n\000\000\000w\000R\000j\000\000\000S\000T\000x\000c\000\000\000k\000\000\000\154\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\000\156\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\000\162\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\000\164\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\000\160\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\000\166\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\000\132\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\000~\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001t\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001p\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001\025\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001\021\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001\015\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001\017\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001l\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001#\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001\031\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\000\128\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\000|\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\000\158\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001x\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001\r\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001z\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\000v\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001v\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\000z\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001~\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001h\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001j\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001\128\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001n\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001r\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001\003\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\000t\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001\029\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001\023\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001\027\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001!\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000c\000n\000\000\000w\001\019\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000c\000\000\000\000\000k\001\001\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000c\000w\000k\000\000\001b\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000c\000w\000\000\000k\001|\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\002\015\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\182\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\001\240\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000\180\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\001T\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\230\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\001\241\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000e\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000\197\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\232\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\001N\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\001R\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\002\014\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\176\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\001V\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\002\b\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\001X\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\178\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000\174\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000\212\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000\201\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\001\\\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\002\017\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\001P\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000\195\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\238\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000U\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000\242\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\001Z\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\000\240\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\001+\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\001/\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\0018\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\001-\000\000\000\000\000k\000\000\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000R\000j\000\000\000S\000T\000n\000i\000w\000k\000\000\000\000\000\000\000Q\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000l\000\000\000\000\000m\000\000\000\000\000R\000\000\000j\000S\000T\000n\000\196\000w\000\000\000k\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000R\000\000\000\000\000S\000T\000\000\000g\000n\000\000\000w\000\000\000\000\000Q\000\000\000\000\000x\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000j\000S\000T\000\000\002\016\000\000\000Q\000k\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000Y\000\000\000Z\000[\000\000\000\\\000\000\000]\000\000\000l\000R\000\000\000m\000S\000T\000\000\000j\000\000\000\000\000\000\000n\000\000\000w\000k\000\000\000\000\000\000\000\000\000x\000Y\000\000\000Z\000[\000\000\000\234\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000k\000n\000\000\000w\000\000\000\000\000\000\000\000\000\000\000x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000l\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000x"
  
  let[@inline] goto_data =
    fun i ->
      MenhirLib.PackedIntArray.get16 goto_data i
  
  let[@inline] goto =
    fun i j ->
      let k = MenhirLib.RowDisplacementDecode.decode (goto_displacement i) in
      goto_data (k + j)
  
  let trace =
    None
  
end

module MenhirInterpreter = struct
  
  module ET = MenhirLib.TableInterpreter.MakeEngineTable (Tables)
  
  module TI = MenhirLib.Engine.Make (ET)
  
  include TI
  
end

let standalone_expression =
  fun lexer lexbuf : ((Javascript.expression)) ->
    Obj.magic (MenhirInterpreter.entry `Legacy 538 lexer lexbuf)

and program =
  fun lexer lexbuf : ((Javascript.program_with_annots)) ->
    Obj.magic (MenhirInterpreter.entry `Legacy 0 lexer lexbuf)

module Incremental = struct
  
  let standalone_expression =
    fun initial_position : ((Javascript.expression) MenhirInterpreter.checkpoint) ->
      Obj.magic (MenhirInterpreter.start 538 initial_position)
  
  and program =
    fun initial_position : ((Javascript.program_with_annots) MenhirInterpreter.checkpoint) ->
      Obj.magic (MenhirInterpreter.start 0 initial_position)
  
end
