
module MenhirBasics = struct
  
  exception Error
  
  let _eRR : exn =
    Error
  
  type token = 
    | YIELDS
    | WHILE
    | WAV
    | VORBIS_CBR
    | VORBIS_ABR
    | VORBIS
    | VIDEO_RAW
    | VIDEO_NONE
    | VIDEO_COPY
    | VIDEO
    | VARLPAR of (
# 31 "lang/parser.mly"
       (string)
# 24 "lang/parser.ml"
  )
    | VARLBRA of (
# 32 "lang/parser.mly"
       (string)
# 29 "lang/parser.ml"
  )
    | VAR of (
# 30 "lang/parser.mly"
       (string)
# 34 "lang/parser.ml"
  )
    | UNDERSCORE
    | UMINUS
    | TRY
    | TO
    | TIMES
    | TIME of (
# 38 "lang/parser.mly"
       (int option list)
# 44 "lang/parser.ml"
  )
    | TILD
    | THEORA
    | THEN
    | STRING of (
# 34 "lang/parser.mly"
       (string)
# 52 "lang/parser.ml"
  )
    | SPEEX
    | SHINE
    | SET
    | SEQSEQ
    | SEQ
    | RPAR
    | REPLACES
    | REC
    | RCUR
    | RBRA
    | QUESTION
    | PP_STRING of (
# 33 "lang/parser.mly"
       (string * (Lexing.position * Lexing.position))
# 68 "lang/parser.ml"
  )
    | PP_INT_DOT_LCUR of (
# 35 "lang/parser.mly"
       (int)
# 73 "lang/parser.ml"
  )
    | PP_INCLUDE of (
# 69 "lang/parser.mly"
       (string)
# 78 "lang/parser.ml"
  )
    | PP_IFVERSION of (
# 65 "lang/parser.mly"
       ([ `Eq | `Geq | `Leq | `Gt | `Lt] * string)
# 83 "lang/parser.ml"
  )
    | PP_IFNENCODER
    | PP_IFNDEF of (
# 64 "lang/parser.mly"
       (string)
# 89 "lang/parser.ml"
  )
    | PP_IFENCODER
    | PP_IFDEF of (
# 64 "lang/parser.mly"
       (string)
# 95 "lang/parser.ml"
  )
    | PP_ENDL
    | PP_ENDIF
    | PP_ELSE
    | PP_DEFINE
    | PP_DEF
    | PP_COMMENT of (
# 70 "lang/parser.mly"
       (string list)
# 105 "lang/parser.ml"
  )
    | OPUS
    | OPEN
    | OGG
    | NOT
    | MP3_VBR
    | MP3_ABR
    | MP3
    | MINUS
    | LPAR
    | LET
    | LCUR
    | LBRA
    | INTERVAL of (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 122 "lang/parser.ml"
  )
    | INT of (
# 35 "lang/parser.mly"
       (int)
# 127 "lang/parser.ml"
  )
    | IF
    | GSTREAMER
    | GETS
    | GET
    | FUN
    | FOR
    | FLOAT of (
# 36 "lang/parser.mly"
       (float)
# 138 "lang/parser.ml"
  )
    | FLAC
    | FFMPEG
    | FDKAAC
    | EXTERNAL
    | EOF
    | END
    | ELSIF
    | ELSE
    | DOTDOTDOT
    | DOT
    | DO
    | DEF of (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 154 "lang/parser.ml"
  )
    | COMMA
    | COLON
    | COALESCE
    | CATCH
    | BOOL of (
# 37 "lang/parser.mly"
       (bool)
# 163 "lang/parser.ml"
  )
    | BINB of (
# 55 "lang/parser.mly"
       (string)
# 168 "lang/parser.ml"
  )
    | BIN3 of (
# 58 "lang/parser.mly"
       (string)
# 173 "lang/parser.ml"
  )
    | BIN2 of (
# 57 "lang/parser.mly"
       (string)
# 178 "lang/parser.ml"
  )
    | BIN1 of (
# 56 "lang/parser.mly"
       (string)
# 183 "lang/parser.ml"
  )
    | BEGIN
    | AVI
    | AUDIO_RAW
    | AUDIO_NONE
    | AUDIO_COPY
    | AUDIO
    | ARGS_OF
  
end

include MenhirBasics

type _menhir_env = {
  _menhir_lexer: Lexing.lexbuf -> token;
  _menhir_lexbuf: Lexing.lexbuf;
  _menhir_token: token;
  mutable _menhir_error: bool
}

and _menhir_state = 
  | MenhirState485
  | MenhirState479
  | MenhirState472
  | MenhirState471
  | MenhirState464
  | MenhirState460
  | MenhirState457
  | MenhirState455
  | MenhirState452
  | MenhirState450
  | MenhirState447
  | MenhirState446
  | MenhirState445
  | MenhirState442
  | MenhirState441
  | MenhirState439
  | MenhirState437
  | MenhirState433
  | MenhirState432
  | MenhirState426
  | MenhirState423
  | MenhirState421
  | MenhirState419
  | MenhirState418
  | MenhirState413
  | MenhirState412
  | MenhirState411
  | MenhirState409
  | MenhirState408
  | MenhirState407
  | MenhirState405
  | MenhirState404
  | MenhirState402
  | MenhirState401
  | MenhirState399
  | MenhirState397
  | MenhirState395
  | MenhirState393
  | MenhirState391
  | MenhirState390
  | MenhirState389
  | MenhirState388
  | MenhirState384
  | MenhirState382
  | MenhirState377
  | MenhirState374
  | MenhirState373
  | MenhirState368
  | MenhirState363
  | MenhirState357
  | MenhirState353
  | MenhirState348
  | MenhirState344
  | MenhirState343
  | MenhirState341
  | MenhirState336
  | MenhirState335
  | MenhirState332
  | MenhirState331
  | MenhirState328
  | MenhirState327
  | MenhirState325
  | MenhirState321
  | MenhirState317
  | MenhirState315
  | MenhirState313
  | MenhirState310
  | MenhirState308
  | MenhirState303
  | MenhirState302
  | MenhirState301
  | MenhirState300
  | MenhirState297
  | MenhirState296
  | MenhirState295
  | MenhirState289
  | MenhirState286
  | MenhirState285
  | MenhirState281
  | MenhirState279
  | MenhirState273
  | MenhirState267
  | MenhirState266
  | MenhirState264
  | MenhirState263
  | MenhirState262
  | MenhirState261
  | MenhirState260
  | MenhirState259
  | MenhirState258
  | MenhirState257
  | MenhirState255
  | MenhirState254
  | MenhirState253
  | MenhirState252
  | MenhirState251
  | MenhirState250
  | MenhirState249
  | MenhirState248
  | MenhirState247
  | MenhirState246
  | MenhirState245
  | MenhirState243
  | MenhirState241
  | MenhirState240
  | MenhirState239
  | MenhirState238
  | MenhirState237
  | MenhirState235
  | MenhirState233
  | MenhirState227
  | MenhirState226
  | MenhirState224
  | MenhirState221
  | MenhirState215
  | MenhirState210
  | MenhirState207
  | MenhirState199
  | MenhirState196
  | MenhirState194
  | MenhirState193
  | MenhirState190
  | MenhirState187
  | MenhirState182
  | MenhirState178
  | MenhirState173
  | MenhirState165
  | MenhirState164
  | MenhirState162
  | MenhirState156
  | MenhirState151
  | MenhirState146
  | MenhirState142
  | MenhirState132
  | MenhirState129
  | MenhirState128
  | MenhirState126
  | MenhirState125
  | MenhirState123
  | MenhirState122
  | MenhirState119
  | MenhirState117
  | MenhirState116
  | MenhirState114
  | MenhirState112
  | MenhirState109
  | MenhirState107
  | MenhirState105
  | MenhirState104
  | MenhirState103
  | MenhirState102
  | MenhirState101
  | MenhirState99
  | MenhirState97
  | MenhirState95
  | MenhirState94
  | MenhirState88
  | MenhirState86
  | MenhirState85
  | MenhirState82
  | MenhirState81
  | MenhirState79
  | MenhirState77
  | MenhirState75
  | MenhirState73
  | MenhirState71
  | MenhirState70
  | MenhirState67
  | MenhirState62
  | MenhirState57
  | MenhirState56
  | MenhirState54
  | MenhirState52
  | MenhirState50
  | MenhirState48
  | MenhirState45
  | MenhirState41
  | MenhirState40
  | MenhirState37
  | MenhirState36
  | MenhirState34
  | MenhirState32
  | MenhirState30
  | MenhirState29
  | MenhirState28
  | MenhirState27
  | MenhirState25
  | MenhirState22
  | MenhirState19
  | MenhirState7
  | MenhirState4
  | MenhirState3
  | MenhirState0

# 23 "lang/parser.mly"
  
open Term
open Term.Ground
(* All auxiliary functions for parser are there *)
open Parser_helper

# 406 "lang/parser.ml"

[@@@ocaml.warning "-4-39"]

let rec _menhir_goto_in_subfield : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_in_subfield -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    match _menhir_s with
    | MenhirState399 | MenhirState315 | MenhirState210 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1801 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 418 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_in_subfield) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1799 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 426 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_3 : 'tv_in_subfield) : 'tv_in_subfield) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 433 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_in_subfield = 
# 325 "lang/parser.mly"
                        ( _1::_3 )
# 438 "lang/parser.ml"
         in
        (_menhir_goto_in_subfield _menhir_env _menhir_stack _menhir_s _v : 'freshtv1800)) : 'freshtv1802)
    | MenhirState397 | MenhirState313 | MenhirState207 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1831 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 446 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_in_subfield) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1829 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 454 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_3 : 'tv_in_subfield) : 'tv_in_subfield) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 461 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_subfield = 
# 321 "lang/parser.mly"
                        ( _1::_3 )
# 466 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1827) = _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_subfield) = _v in
        let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
        (((match _menhir_s with
        | MenhirState193 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1809 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1805 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1803 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_endpos__4_ : Lexing.position) = _endpos in
                let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_subfield)) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__4_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 379 "lang/parser.mly"
                          ( args_of ~only:[] ~except:[] ~pos:_loc (String.concat "." _3) )
# 496 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1804)) : 'freshtv1806)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1807 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_menhir_stack, _menhir_s, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1808)) : 'freshtv1810)
        | MenhirState266 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1817 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1813 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1811 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_endpos__4_ : Lexing.position) = _endpos in
                let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_subfield)) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__4_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 303 "lang/parser.mly"
                                 ( app_of ~only:[] ~except:[] ~pos:_loc (String.concat "." _3) )
# 529 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1812)) : 'freshtv1814)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1815 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_menhir_stack, _menhir_s, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1816)) : 'freshtv1818)
        | MenhirState310 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1819 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 545 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run225 _menhir_env (Obj.magic _menhir_stack) MenhirState331
            | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
                _menhir_reduce148 _menhir_env (Obj.magic _menhir_stack) MenhirState331
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState331) : 'freshtv1820)
        | MenhirState395 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1825 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1821 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | AVI ->
                    _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState401) : 'freshtv1822)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1823 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
                let (_menhir_stack, _menhir_s, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1824)) : 'freshtv1826)
        | _ ->
            _menhir_fail ()) : 'freshtv1828) : 'freshtv1830)) : 'freshtv1832)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ty_content_args : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty_content_args -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState132 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1777 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 673 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1773 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 683 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1771 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 691 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _endpos__1_, (_1 : (
# 31 "lang/parser.mly"
       (string)
# 697 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 249 "lang/parser.mly"
                                  ( _1, _2 )
# 702 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1772)) : 'freshtv1774)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1775 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 712 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1776)) : 'freshtv1778)
    | MenhirState142 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1781 * _menhir_state * 'tv_ty_content_arg) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1779 * _menhir_state * 'tv_ty_content_arg) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_ty_content_arg)), _endpos__2_), _, (_3 : 'tv_ty_content_args)) = _menhir_stack in
        let _v : 'tv_ty_content_args = 
# 259 "lang/parser.mly"
                                         ( _1::_3 )
# 725 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_args _menhir_env _menhir_stack _menhir_s _v : 'freshtv1780)) : 'freshtv1782)
    | MenhirState146 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1789 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 733 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 737 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1785 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 747 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 751 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1783 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 759 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 763 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 769 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, (_3 : (
# 31 "lang/parser.mly"
       (string)
# 773 "lang/parser.ml"
            )), _startpos__3_), _, (_4 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 251 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3, _4 )
# 778 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1784)) : 'freshtv1786)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1787 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 788 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 792 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1788)) : 'freshtv1790)
    | MenhirState151 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1797 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 801 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 805 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 809 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1793 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 819 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 823 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 827 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1791 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 835 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 839 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 843 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_endpos__7_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 849 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 853 "lang/parser.ml"
            )), _startpos__3_), _endpos__5_, (_5 : (
# 31 "lang/parser.mly"
       (string)
# 857 "lang/parser.ml"
            )), _startpos__5_), _, (_6 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 253 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3 ^ "." ^ _5, _6 )
# 862 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1792)) : 'freshtv1794)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1795 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 872 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 876 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 880 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_content_args) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1796)) : 'freshtv1798)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ty_content_arg : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty_content_arg -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1769 * _menhir_state * 'tv_ty_content_arg) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1763 * _menhir_state * 'tv_ty_content_arg) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | STRING _v ->
            _menhir_run138 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState142 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run133 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState142 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce215 _menhir_env (Obj.magic _menhir_stack) MenhirState142
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState142) : 'freshtv1764)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1765 * _menhir_state * 'tv_ty_content_arg) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_ty_content_arg)) = _menhir_stack in
        let _v : 'tv_ty_content_args = 
# 258 "lang/parser.mly"
                                         ( [_1] )
# 920 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_args _menhir_env _menhir_stack _menhir_s _v : 'freshtv1766)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1767 * _menhir_state * 'tv_ty_content_arg) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1768)) : 'freshtv1770)

and _menhir_goto_ty_source_params : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty_source_params -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState156 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1753 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 940 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1751 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 946 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
        let ((((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 951 "lang/parser.ml"
        )), _startpos__1_), (_3 : 'tv_ty_content)), _endpos__4_), _, (_5 : 'tv_ty_source_params)) = _menhir_stack in
        let _v : 'tv_ty_source_params = 
# 243 "lang/parser.mly"
                                               ( (_1,_3)::_5 )
# 956 "lang/parser.ml"
         in
        (_menhir_goto_ty_source_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1752)) : 'freshtv1754)
    | MenhirState129 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1761 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 964 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1757 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 974 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1755 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 982 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 31 "lang/parser.mly"
       (string)
# 988 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_ty_source_params)) = _menhir_stack in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 239 "lang/parser.mly"
                                  ( mk_source_ty ~pos:_loc _1 _2 )
# 997 "lang/parser.ml"
               : 'tv_ty_source)
            in
            (_menhir_goto_ty_source _menhir_env _menhir_stack _menhir_s _v : 'freshtv1756)) : 'freshtv1758)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1759 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 1008 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_ty_source_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1760)) : 'freshtv1762)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ty_tuple : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty_tuple -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState162 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1745 * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1741 * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1739 * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_ty_tuple)) = _menhir_stack in
            let _v : 'tv_ty = 
# 233 "lang/parser.mly"
                               ( Type.make (Type.Tuple _2) )
# 1037 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1740)) : 'freshtv1742)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1743 * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1744)) : 'freshtv1746)
    | MenhirState178 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1749 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1747 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) * _menhir_state * 'tv_ty_tuple) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_ty)), _endpos__2_, _startpos__2_), _, (_3 : 'tv_ty_tuple)) = _menhir_stack in
        let _v : 'tv_ty_tuple = 
# 270 "lang/parser.mly"
                      ( _1::_3 )
# 1056 "lang/parser.ml"
         in
        (_menhir_goto_ty_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1748)) : 'freshtv1750)
    | _ ->
        _menhir_fail ()

and _menhir_reduce47 : _menhir_env -> 'ttv_tail * _menhir_state * 'tv_ty -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let (_menhir_stack, _menhir_s, (_1 : 'tv_ty)) = _menhir_stack in
    let _v : 'tv_argty = 
# 273 "lang/parser.mly"
                          ( false,"",_1 )
# 1068 "lang/parser.ml"
     in
    _menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v

and _menhir_run178 : _menhir_env -> 'ttv_tail * _menhir_state * 'tv_ty -> Lexing.position -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LBRA ->
        _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState178 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState178 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState178 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState178 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState178

and _menhir_goto_argty : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_argty -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1737 * _menhir_state * 'tv_argty) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1731 * _menhir_state * 'tv_argty) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | LBRA ->
            _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState182 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState182 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run171 _menhir_env (Obj.magic _menhir_stack) MenhirState182
        | VAR _v ->
            _menhir_run163 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState182 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState182 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce44 _menhir_env (Obj.magic _menhir_stack) MenhirState182
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState182) : 'freshtv1732)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1733 * _menhir_state * 'tv_argty) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_argty)) = _menhir_stack in
        let _v : 'tv_argsty = 
# 279 "lang/parser.mly"
                       ( [_1] )
# 1130 "lang/parser.ml"
         in
        (_menhir_goto_argsty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1734)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1735 * _menhir_state * 'tv_argty) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1736)) : 'freshtv1738)

and _menhir_run169 : _menhir_env -> 'ttv_tail * _menhir_state * 'tv_ty -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1729 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
    let (_menhir_stack, _menhir_s, (_1 : 'tv_ty)) = _menhir_stack in
    let _v : 'tv_ty = 
# 231 "lang/parser.mly"
                               ( Type.make (Type.Nullable _1) )
# 1150 "lang/parser.ml"
     in
    (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1730)

and _menhir_goto_if_elsif : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_if_elsif -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState412 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1719 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1717 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
        let (((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_), _startpos__3_), _endpos__4_, _, (_4 : 'tv_exprs), _startpos__4_), _endpos__5_, _, (_5 : 'tv_if_elsif)) = _menhir_stack in
        let _endpos = _endpos__5_ in
        let _v =
          let _endpos = _endpos__5_ in
          let _startpos = _startpos__1_ in
          let _loc__1_ = (_startpos__1_, _endpos__1_) in
          let _loc = (_startpos, _endpos) in
          (
# 398 "lang/parser.mly"
                                    ( let cond = _2 in
                                      let then_b = mk_fun ~pos:(_startpos__3_, _endpos__4_) [] _4 in
                                      let else_b = _5 in
                                      let op = mk ~pos:_loc__1_ (Var "if") in
                                      mk_fun ~pos:_loc [] (mk ~pos:_loc (App (op,["",cond; "then",then_b; "else",else_b]))) )
# 1177 "lang/parser.ml"
           : 'tv_if_elsif)
        in
        (_menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1718)) : 'freshtv1720)
    | MenhirState408 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1727 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1723 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1721 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
            let (_endpos__6_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_), _startpos__3_), _endpos__4_, _, (_4 : 'tv_exprs), _startpos__4_), _endpos__5_, _, (_5 : 'tv_if_elsif)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v =
              let _endpos = _endpos__6_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 204 "lang/parser.mly"
                                     ( let cond = _2 in
                                       let then_b = mk_fun ~pos:(_startpos__3_,_endpos__4_) [] _4 in
                                       let else_b = _5 in
                                       let op = mk ~pos:_loc__1_ (Var "if") in
                                       mk ~pos:_loc (App (op, ["", cond; "then", then_b; "else", else_b])) )
# 1210 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1722)) : 'freshtv1724)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1725 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position * _menhir_state * 'tv_if_elsif) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1726)) : 'freshtv1728)
    | _ ->
        _menhir_fail ()

and _menhir_reduce152 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let (_, _endpos__0_) = Obj.magic _menhir_stack in
    let (_, _endpos) = Obj.magic _menhir_stack in
    let _v =
      let _endpos = _endpos__0_ in
      let _startpos = _endpos__0_ in
      let _loc = (_startpos, _endpos) in
      (
# 404 "lang/parser.mly"
                                    ( mk_fun ~pos:_loc [] (mk ~pos:_loc unit) )
# 1235 "lang/parser.ml"
       : 'tv_if_elsif)
    in
    _menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run409 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState409 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState409

and _menhir_run413 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState413 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState413

and _menhir_goto_annotate_metadata : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_annotate_metadata -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState4 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1697 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 1443 "lang/parser.ml"
        )) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1695 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 1449 "lang/parser.ml"
        )) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, (_1 : (
# 102 "lang/parser.mly"
      (string * string)
# 1454 "lang/parser.ml"
        ))), _, (_2 : 'tv_annotate_metadata)) = _menhir_stack in
        let _v : 'tv_annotate_metadata = 
# 466 "lang/parser.mly"
                                              ( _1::_2 )
# 1459 "lang/parser.ml"
         in
        (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1696)) : 'freshtv1698)
    | MenhirState3 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1701 * Lexing.position * _menhir_state) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1699 * Lexing.position * _menhir_state) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _endpos__1_, _menhir_s), _, (_2 : 'tv_annotate_metadata)) = _menhir_stack in
        let _v : 'tv_annotate_metadata = 
# 465 "lang/parser.mly"
                            ( _2 )
# 1471 "lang/parser.ml"
         in
        (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1700)) : 'freshtv1702)
    | MenhirState0 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1715 * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1711 * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1709 * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, (_1 : 'tv_annotate_metadata)) = _menhir_stack in
            let _v : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 1489 "lang/parser.ml"
            ) = 
# 462 "lang/parser.mly"
                            ( _1 )
# 1493 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1707) = _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 1501 "lang/parser.ml"
            )) = _v in
            (((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1705) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 1509 "lang/parser.ml"
            )) = _v in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1703) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let ((_1 : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 1517 "lang/parser.ml"
            )) : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 1521 "lang/parser.ml"
            )) = _v in
            (Obj.magic _1 : 'freshtv1704)) : 'freshtv1706)) : 'freshtv1708) : 'freshtv1710)) : 'freshtv1712)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1713 * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1714)) : 'freshtv1716)
    | _ ->
        _menhir_fail ()

and _menhir_reduce11 : _menhir_env -> (('ttv_tail * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos__4_ ->
    let ((_menhir_stack, _menhir_s, (_1 : 'tv_annotate_key)), _, (_3 : 'tv_annotate_value)) = _menhir_stack in
    let _v : (
# 102 "lang/parser.mly"
      (string * string)
# 1540 "lang/parser.ml"
    ) = 
# 470 "lang/parser.mly"
                                           ( _1, _3 )
# 1544 "lang/parser.ml"
     in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1693) = _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : (
# 102 "lang/parser.mly"
      (string * string)
# 1552 "lang/parser.ml"
    )) = _v in
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    ((match _menhir_s with
    | MenhirState0 | MenhirState4 | MenhirState3 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1687 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 1561 "lang/parser.ml"
        )) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            _menhir_run3 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState4
        | STRING _v ->
            _menhir_run2 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState4 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run1 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState4 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState4) : 'freshtv1688)
    | MenhirState19 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1691 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 1581 "lang/parser.ml"
        )) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1689 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 1587 "lang/parser.ml"
        )) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : (
# 102 "lang/parser.mly"
      (string * string)
# 1592 "lang/parser.ml"
        ))) = _menhir_stack in
        (Obj.magic _1 : 'freshtv1690)) : 'freshtv1692)
    | _ ->
        _menhir_fail ()) : 'freshtv1694)

and _menhir_goto_varlpar : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_varlpar -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState313 | MenhirState315 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1683 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1607 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_varlpar) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1681 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1613 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_varlpar) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 1618 "lang/parser.ml"
        )), _startpos__1_), _, (_3 : 'tv_varlpar)) = _menhir_stack in
        let _v : 'tv_varlpar = 
# 365 "lang/parser.mly"
                    ( _1::_3 )
# 1623 "lang/parser.ml"
         in
        (_menhir_goto_varlpar _menhir_env _menhir_stack _menhir_s _v : 'freshtv1682)) : 'freshtv1684)
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1685 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1631 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ARGS_OF ->
            _menhir_run192 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run126 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run100 _menhir_env (Obj.magic _menhir_stack) MenhirState325
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce37 _menhir_env (Obj.magic _menhir_stack) MenhirState325
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState325) : 'freshtv1686)
    | _ ->
        _menhir_fail ()

and _menhir_goto_g : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_g -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState224 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1673 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1664 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 1668 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState226) : 'freshtv1674)
    | MenhirState327 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1675 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1768 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState328 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState328) : 'freshtv1676)
    | MenhirState331 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1677 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1868 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState332 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState332) : 'freshtv1678)
    | MenhirState335 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1679 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1968 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState336) : 'freshtv1680)
    | _ ->
        _menhir_fail ()

and _menhir_goto_in_subfield_lbra : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_in_subfield_lbra -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    match _menhir_s with
    | MenhirState210 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1661 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2074 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_in_subfield_lbra) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1659 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2082 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_3 : 'tv_in_subfield_lbra) : 'tv_in_subfield_lbra) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2089 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_in_subfield_lbra = 
# 395 "lang/parser.mly"
                             ( _1::_3 )
# 2094 "lang/parser.ml"
         in
        (_menhir_goto_in_subfield_lbra _menhir_env _menhir_stack _menhir_s _v : 'freshtv1660)) : 'freshtv1662)
    | MenhirState207 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1671 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2102 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_in_subfield_lbra) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1669 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2110 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_3 : 'tv_in_subfield_lbra) : 'tv_in_subfield_lbra) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2117 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_subfield_lbra = 
# 392 "lang/parser.mly"
                             ( _1::_3 )
# 2122 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1667) = _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_subfield_lbra) = _v in
        let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
        (((match _menhir_s with
        | MenhirState193 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1663 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GET ->
                _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState215 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState215 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState215) : 'freshtv1664)
        | MenhirState266 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1665 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GET ->
                _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState273 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState273 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState273) : 'freshtv1666)
        | _ ->
            _menhir_fail ()) : 'freshtv1668) : 'freshtv1670)) : 'freshtv1672)
    | _ ->
        _menhir_fail ()

and _menhir_reduce153 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2166 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2172 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _v : 'tv_in_subfield = 
# 324 "lang/parser.mly"
        ( [_1] )
# 2177 "lang/parser.ml"
     in
    _menhir_goto_in_subfield _menhir_env _menhir_stack _menhir_s _v

and _menhir_reduce215 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_ty_content_args = 
# 257 "lang/parser.mly"
                                         ( [] )
# 2186 "lang/parser.ml"
     in
    _menhir_goto_ty_content_args _menhir_env _menhir_stack _menhir_s _v

and _menhir_run133 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 2193 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | GETS ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1653 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2205 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | INT _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1641 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2215 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 35 "lang/parser.mly"
       (int)
# 2221 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1639 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2229 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 35 "lang/parser.mly"
       (int)
# 2235 "lang/parser.ml"
            )) : (
# 35 "lang/parser.mly"
       (int)
# 2239 "lang/parser.ml"
            )) = _v in
            let (_startpos__3_ : Lexing.position) = _startpos in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2245 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 266 "lang/parser.mly"
                         ( _1,string_of_int _3)
# 2250 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1640)) : 'freshtv1642)
        | STRING _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1645 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2258 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 34 "lang/parser.mly"
       (string)
# 2264 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1643 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2272 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 34 "lang/parser.mly"
       (string)
# 2278 "lang/parser.ml"
            )) : (
# 34 "lang/parser.mly"
       (string)
# 2282 "lang/parser.ml"
            )) = _v in
            let (_startpos__3_ : Lexing.position) = _startpos in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2288 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 265 "lang/parser.mly"
                         ( _1,_3)
# 2293 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1644)) : 'freshtv1646)
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1649 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2301 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 2307 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1647 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2315 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 30 "lang/parser.mly"
       (string)
# 2321 "lang/parser.ml"
            )) : (
# 30 "lang/parser.mly"
       (string)
# 2325 "lang/parser.ml"
            )) = _v in
            let (_startpos__3_ : Lexing.position) = _startpos in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2331 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 264 "lang/parser.mly"
                         ( _1,_3 )
# 2336 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1648)) : 'freshtv1650)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1651 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2346 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1652)) : 'freshtv1654)
    | COMMA | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1655 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2355 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2360 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_ty_content_arg = 
# 262 "lang/parser.mly"
                         ( "",_1 )
# 2365 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1656)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1657 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2375 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1658)

and _menhir_run138 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 2383 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1637) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 34 "lang/parser.mly"
       (string)
# 2394 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 2398 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_ty_content_arg = 
# 263 "lang/parser.mly"
                         ( "",_1 )
# 2404 "lang/parser.ml"
     in
    (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1638)

and _menhir_goto_ty_content : _menhir_env -> 'ttv_tail -> 'tv_ty_content -> 'ttv_return =
  fun _menhir_env _menhir_stack _v ->
    let _menhir_stack = (_menhir_stack, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : (('freshtv1635 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2415 "lang/parser.ml"
    ) * Lexing.position)) * 'tv_ty_content) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1629 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2425 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            _menhir_run130 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState156 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState156) : 'freshtv1630)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1631 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2443 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2448 "lang/parser.ml"
        )), _startpos__1_), (_3 : 'tv_ty_content)) = _menhir_stack in
        let _v : 'tv_ty_source_params = 
# 242 "lang/parser.mly"
                        ( [_1,_3] )
# 2453 "lang/parser.ml"
         in
        (_menhir_goto_ty_source_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1632)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1633 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2463 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1634)) : 'freshtv1636)

and _menhir_goto_ty : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState165 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1575 * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1571 * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1569 * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _, (_2 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_ty = 
# 232 "lang/parser.mly"
                               ( Type.make (Type.List _2) )
# 2492 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1570)) : 'freshtv1572)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1573 * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1574)) : 'freshtv1576)
    | MenhirState164 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1581 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2507 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1577 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2519 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2524 "lang/parser.ml"
            )), _startpos__1_), _, (_3 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_argty = 
# 274 "lang/parser.mly"
                          ( false,_1,_3 )
# 2529 "lang/parser.ml"
             in
            (_menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1578)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1579 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2539 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1580)) : 'freshtv1582)
    | MenhirState173 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1587 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2548 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1583 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2560 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _menhir_s), _endpos__2_, (_2 : (
# 30 "lang/parser.mly"
       (string)
# 2565 "lang/parser.ml"
            )), _startpos__2_), _, (_4 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_argty = 
# 275 "lang/parser.mly"
                          ( true,_2,_4 )
# 2570 "lang/parser.ml"
             in
            (_menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1584)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1585 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2580 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1586)) : 'freshtv1588)
    | MenhirState162 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1591 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | TIMES ->
            _menhir_run178 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            _menhir_reduce47 _menhir_env (Obj.magic _menhir_stack)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1589 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1590)) : 'freshtv1592)
    | MenhirState178 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1597 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | TIMES ->
            _menhir_run178 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1593 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _menhir_s, (_1 : 'tv_ty)), _endpos__2_, _startpos__2_), _, (_3 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_ty_tuple = 
# 269 "lang/parser.mly"
                ( [_1; _3] )
# 2620 "lang/parser.ml"
             in
            (_menhir_goto_ty_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1594)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1595 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1596)) : 'freshtv1598)
    | MenhirState182 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1601 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            _menhir_reduce47 _menhir_env (Obj.magic _menhir_stack)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1599 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1600)) : 'freshtv1602)
    | MenhirState187 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1607 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RBRA | RPAR | TIMES ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1603 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let ((((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_argsty)), _endpos__3_), _, (_5 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_ty = 
# 234 "lang/parser.mly"
                               ( Type.make (Type.Arrow (_2,_5)) )
# 2662 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1604)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1605 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1606)) : 'freshtv1608)
    | MenhirState128 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1613 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1609 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) MenhirState190
            | COMMA | RPAR ->
                _menhir_reduce175 _menhir_env (Obj.magic _menhir_stack) MenhirState190
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState190) : 'freshtv1610)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1611 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1612)) : 'freshtv1614)
    | MenhirState382 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1619 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2708 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1615 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2720 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) MenhirState384
            | COMMA | RPAR ->
                _menhir_reduce175 _menhir_env (Obj.magic _menhir_stack) MenhirState384
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState384) : 'freshtv1616)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1617 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2742 "lang/parser.ml"
            ) * Lexing.position)) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1618)) : 'freshtv1620)
    | MenhirState442 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1627 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | QUESTION ->
            _menhir_run169 _menhir_env (Obj.magic _menhir_stack)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1623 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1621 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_), _), _, (_4 : 'tv_ty)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v =
              let _endpos = _endpos__5_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 137 "lang/parser.mly"
                                     ( mk ~pos:_loc (Cast (_2, _4)) )
# 2772 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1622)) : 'freshtv1624)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1625 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1626)) : 'freshtv1628)
    | _ ->
        _menhir_fail ()

and _menhir_goto_argsty : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_argsty -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState182 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1557 * _menhir_state * 'tv_argty) * Lexing.position) * _menhir_state * 'tv_argsty) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1555 * _menhir_state * 'tv_argty) * Lexing.position) * _menhir_state * 'tv_argsty) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_argty)), _endpos__2_), _, (_3 : 'tv_argsty)) = _menhir_stack in
        let _v : 'tv_argsty = 
# 280 "lang/parser.mly"
                       ( _1::_3 )
# 2799 "lang/parser.ml"
         in
        (_menhir_goto_argsty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1556)) : 'freshtv1558)
    | MenhirState162 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1567 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1563 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | YIELDS ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1559 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | LBRA ->
                    _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState187 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState187 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState187 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState187 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState187) : 'freshtv1560)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1561 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1562)) : 'freshtv1564)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1565 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1566)) : 'freshtv1568)
    | _ ->
        _menhir_fail ()

and _menhir_goto_exprs : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_exprs -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    match _menhir_s with
    | MenhirState235 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1427 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1425 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_list_binding), _startpos__1_), _endpos__2_, _, _), _endpos__3_, _, (_3 : 'tv_exprs), _startpos__3_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let _endpos = _endpos__3_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 128 "lang/parser.mly"
                             ( mk_list_let ~pos:_loc _1 _3 )
# 2870 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1426)) : 'freshtv1428)
    | MenhirState297 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1431 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1429 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _), _endpos__3_, _, (_3 : 'tv_exprs), _startpos__3_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let _endpos = _endpos__3_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 124 "lang/parser.mly"
                             ( mk ~pos:_loc (Seq (_1,_3)) )
# 2889 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1430)) : 'freshtv1432)
    | MenhirState303 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1435 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1433 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_binding), _startpos__1_), _endpos__2_, _, _), _endpos__3_, _, (_3 : 'tv_exprs), _startpos__3_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let _loc__1_ = (_startpos__1_, _endpos__1_) in
          (
# 126 "lang/parser.mly"
                             ( mk_let ~pos:_loc__1_ _1 _3 )
# 2906 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1434)) : 'freshtv1436)
    | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((((('freshtv1443 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2915 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2919 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1439 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2929 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2933 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1437 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2941 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2945 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__8_ : Lexing.position) = _endpos in
            let (((((((_menhir_stack, _menhir_s, (_1 : (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2951 "lang/parser.ml"
            )), _startpos__1_), _), _endpos__3_, (_3 : (
# 31 "lang/parser.mly"
       (string)
# 2955 "lang/parser.ml"
            )), _startpos__3_), _, (_4 : 'tv_arglist)), _endpos__5_), _, _), _endpos__7_, _, (_7 : 'tv_exprs), _startpos__7_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__8_ in
            let _v =
              let _endpos = _endpos__8_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 343 "lang/parser.mly"
                                             (
      let doc = _1 in
      let pat = PVar [_3] in
      let arglist = _4 in
      let body = mk_rec_fun ~pos:_loc pat arglist _7 in
      doc,false,pat,body
    )
# 2972 "lang/parser.ml"
               : 'tv_binding)
            in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1438)) : 'freshtv1440)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1441 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2983 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2987 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1442)) : 'freshtv1444)
    | MenhirState328 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((((('freshtv1451 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2996 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1447 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3006 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1445 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3014 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__8_ : Lexing.position) = _endpos in
            let (((((((_menhir_stack, _menhir_s, (_1 : (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3020 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_replaces)), _, (_3 : 'tv_varlpar)), _, (_4 : 'tv_arglist)), _endpos__5_), _, _), _endpos__7_, _, (_7 : 'tv_exprs), _startpos__7_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__8_ in
            let _v =
              let _endpos = _endpos__8_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 337 "lang/parser.mly"
                                                  (
      let arglist = _4 in
      let body = mk_fun ~pos:_loc arglist _7 in
      _1,_2,PVar _3,body
        )
# 3035 "lang/parser.ml"
               : 'tv_binding)
            in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1446)) : 'freshtv1448)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((((('freshtv1449 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3046 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1450)) : 'freshtv1452)
    | MenhirState332 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1459 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3055 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1455 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3065 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1453 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3073 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__6_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _menhir_s, (_1 : (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3079 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_replaces)), _, (_3 : 'tv_subfield)), _, _), _endpos__5_, _, (_5 : 'tv_exprs), _startpos__5_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v : 'tv_binding = 
# 336 "lang/parser.mly"
                                      ( _1,_2,PVar _3,_5 )
# 3086 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1454)) : 'freshtv1456)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1457 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3096 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1458)) : 'freshtv1460)
    | MenhirState336 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1467 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3105 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1463 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3115 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1461 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3123 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__6_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _menhir_s, (_1 : (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3129 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_replaces)), _, (_3 : 'tv_pattern)), _, _), _endpos__5_, _, (_5 : 'tv_exprs), _startpos__5_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v : 'tv_binding = 
# 335 "lang/parser.mly"
                                     ( _1,_2,_3,_5 )
# 3136 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1462)) : 'freshtv1464)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1465 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 3146 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1466)) : 'freshtv1468)
    | MenhirState122 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1475 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1471 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1469 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v : 'tv_expr = 
# 178 "lang/parser.mly"
                                     ( _2 )
# 3170 "lang/parser.ml"
             in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1470)) : 'freshtv1472)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1473 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1474)) : 'freshtv1476)
    | MenhirState374 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1483 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1479 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1477 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__7_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_bindvar), _startpos__2_), _endpos__4_, _, (_4 : 'tv_expr), _startpos__4_), _), _endpos__6_, _, (_6 : 'tv_exprs), _startpos__6_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__7_ in
            let _v =
              let _endpos = _endpos__7_ in
              let _startpos = _startpos__1_ in
              let _loc__6_ = (_startpos__6_, _endpos__6_) in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 183 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "for"), ["", _4; "", mk_fun ~pos:_loc__6_ ["", _2, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__2_), None] _6])) )
# 3207 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1478)) : 'freshtv1480)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1481 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1482)) : 'freshtv1484)
    | MenhirState85 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1489 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | THEN ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1485 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState407 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState407) : 'freshtv1486)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1487 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1488)) : 'freshtv1490)
    | MenhirState407 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1491 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ELSE ->
            _menhir_run413 _menhir_env (Obj.magic _menhir_stack) MenhirState408 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | ELSIF ->
            _menhir_run409 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState408 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | END ->
            _menhir_reduce152 _menhir_env (Obj.magic _menhir_stack) MenhirState408
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState408) : 'freshtv1492)
    | MenhirState409 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1497 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | THEN ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1493 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState411) : 'freshtv1494)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1495 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1496)) : 'freshtv1498)
    | MenhirState411 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1499 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ELSE ->
            _menhir_run413 _menhir_env (Obj.magic _menhir_stack) MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | ELSIF ->
            _menhir_run409 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | END ->
            _menhir_reduce152 _menhir_env (Obj.magic _menhir_stack) MenhirState412
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState412) : 'freshtv1500)
    | MenhirState413 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1503 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1501 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_) = _menhir_stack in
        let _endpos = _endpos__2_ in
        let _v : 'tv_if_elsif = 
# 403 "lang/parser.mly"
                                    ( mk_fun ~pos:(_startpos__1_,_endpos__2_) [] _2 )
# 3482 "lang/parser.ml"
         in
        (_menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1502)) : 'freshtv1504)
    | MenhirState447 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1507 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1505 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let ((((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_), _endpos__3_, _, _), _endpos__4_, _, (_4 : 'tv_exprs), _startpos__4_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__4_ in
        let _v =
          let _endpos = _endpos__4_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 122 "lang/parser.mly"
                             ( mk ~pos:_loc (Open (_2,_4)) )
# 3500 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1506)) : 'freshtv1508)
    | MenhirState41 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1513 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | CATCH ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1509 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState450) : 'freshtv1510)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1511 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1512)) : 'freshtv1514)
    | MenhirState452 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1521 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1517 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1515 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__7_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_), _endpos__4_, _, (_4 : 'tv_bindvar), _startpos__4_), _endpos__6_, _, (_6 : 'tv_exprs), _startpos__6_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__7_ in
            let _v =
              let _endpos = _endpos__7_ in
              let _startpos = _startpos__1_ in
              let _loc__6_ = (_startpos__6_, _endpos__6_) in
              let _loc__4_ = (_startpos__4_, _endpos__4_) in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 197 "lang/parser.mly"
                                         ( let fn = mk_fun ~pos:_loc__2_ [] _2 in
                                       let err_arg = ["", _4, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__4_), None] in
                                       let handler = mk_fun ~pos:_loc__6_ err_arg _6 in
                                       let errors = mk ~pos:_loc Null in
                                       let error_module = mk ~pos:_loc__1_ (Var "error") in
                                       let op = mk ~pos:_loc__1_ (Invoke (error_module, "catch")) in
                                       mk ~pos:_loc (App (op, ["errors", errors; "", fn; "", handler])) )
# 3565 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1516)) : 'freshtv1518)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1519 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1520)) : 'freshtv1522)
    | MenhirState457 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((((('freshtv1529 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((((('freshtv1525 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((((('freshtv1523 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__9_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprs), _startpos__2_), _endpos__4_, _, (_4 : 'tv_bindvar), _startpos__4_), _endpos__6_, _, (_6 : 'tv_varlist), _startpos__6_), _endpos__8_, _, (_8 : 'tv_exprs), _startpos__8_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__9_ in
            let _v =
              let _endpos = _endpos__9_ in
              let _startpos = _startpos__1_ in
              let _loc__8_ = (_startpos__8_, _endpos__8_) in
              let _loc__4_ = (_startpos__4_, _endpos__4_) in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 190 "lang/parser.mly"
                                     ( let fn = mk_fun ~pos:_loc__2_ [] _2 in
                                       let err_arg = ["", _4, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__4_), None] in
                                       let errors = mk_list ~pos:_loc _6 in
                                       let handler =  mk_fun ~pos:_loc__8_ err_arg _8 in
                                       let error_module = mk ~pos:_loc__1_ (Var "error") in
                                       let op = mk ~pos:_loc__1_ (Invoke (error_module, "catch")) in
                                       mk ~pos:_loc (App (op, ["errors", errors; "", fn; "", handler])) )
# 3610 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1524)) : 'freshtv1526)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((((('freshtv1527 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position)) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1528)) : 'freshtv1530)
    | MenhirState472 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1537 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | END ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1533 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1531 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_), _), _endpos__4_, _, (_4 : 'tv_exprs), _startpos__4_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v =
              let _endpos = _endpos__5_ in
              let _startpos = _startpos__1_ in
              let _loc__4_ = (_startpos__4_, _endpos__4_) in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 181 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "while"), ["", mk_fun ~pos:_loc__2_ [] _2; "", mk_fun ~pos:_loc__4_ [] _4])) )
# 3648 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1532)) : 'freshtv1534)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1535 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1536)) : 'freshtv1538)
    | MenhirState25 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1545 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | SEQSEQ ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1541 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1539 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_exprs), _startpos__1_) = _menhir_stack in
            let _v : (
# 96 "lang/parser.mly"
      (Term.t)
# 3674 "lang/parser.ml"
            ) = 
# 115 "lang/parser.mly"
                 ( _1 )
# 3678 "lang/parser.ml"
             in
            (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv1540)) : 'freshtv1542)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1543 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1544)) : 'freshtv1546)
    | MenhirState479 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1553 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | EOF ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1549 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1547 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__2_ : Lexing.position) = _endpos in
            let (_startpos__2_ : Lexing.position) = _startpos in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_exprs), _startpos__1_) = _menhir_stack in
            let _v : (
# 93 "lang/parser.mly"
      (Term.t)
# 3707 "lang/parser.ml"
            ) = 
# 112 "lang/parser.mly"
              ( _1 )
# 3711 "lang/parser.ml"
             in
            (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : 'freshtv1548)) : 'freshtv1550)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1551 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1552)) : 'freshtv1554)
    | _ ->
        _menhir_fail ()

and _menhir_goto_annotate_value : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_annotate_value -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState7 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1417 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1411 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            (_menhir_reduce11 _menhir_env (Obj.magic _menhir_stack) _endpos : 'freshtv1412)
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1413 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _menhir_s, (_1 : 'tv_annotate_key)), _, (_3 : 'tv_annotate_value)) = _menhir_stack in
            let _v : 'tv_annotate_metadata = 
# 467 "lang/parser.mly"
                                     ( [_1, _3] )
# 3747 "lang/parser.ml"
             in
            (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1414)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1415 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1416)) : 'freshtv1418)
    | MenhirState22 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1423 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1419 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            (_menhir_reduce11 _menhir_env (Obj.magic _menhir_stack) _endpos : 'freshtv1420)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1421 * _menhir_state * 'tv_annotate_key)) * _menhir_state * 'tv_annotate_value) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1422)) : 'freshtv1424)
    | _ ->
        _menhir_fail ()

and _menhir_goto_pattern_list : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_pattern_list -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState317 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1405 * _menhir_state * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1401 * _menhir_state * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1399 * _menhir_state * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_pattern_list)) = _menhir_stack in
            let _v : 'tv_pattern = 
# 318 "lang/parser.mly"
                           ( PTuple _2 )
# 3800 "lang/parser.ml"
             in
            (_menhir_goto_pattern _menhir_env _menhir_stack _menhir_s _v : 'freshtv1400)) : 'freshtv1402)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1403 * _menhir_state * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1404)) : 'freshtv1406)
    | MenhirState321 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1409 * _menhir_state * 'tv_pattern) * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1407 * _menhir_state * 'tv_pattern) * Lexing.position) * _menhir_state * 'tv_pattern_list) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_pattern)), _endpos__2_), _, (_3 : 'tv_pattern_list)) = _menhir_stack in
        let _v : 'tv_pattern_list = 
# 329 "lang/parser.mly"
                               ( _1::_3 )
# 3819 "lang/parser.ml"
         in
        (_menhir_goto_pattern_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1408)) : 'freshtv1410)
    | _ ->
        _menhir_fail ()

and _menhir_run321 : _menhir_env -> 'ttv_tail * _menhir_state * 'tv_pattern -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos ->
    let _menhir_stack = (_menhir_stack, _endpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run317 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState321

and _menhir_run398 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 3845 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | DOT ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1395 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3857 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            _menhir_run398 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState399 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState399) : 'freshtv1396)
    | GETS ->
        _menhir_reduce153 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1397 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3877 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1398)

and _menhir_run311 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 3885 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1393) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 31 "lang/parser.mly"
       (string)
# 3896 "lang/parser.ml"
    )) : (
# 31 "lang/parser.mly"
       (string)
# 3900 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_varlpar = 
# 364 "lang/parser.mly"
                    ( [_1] )
# 3906 "lang/parser.ml"
     in
    (_menhir_goto_varlpar _menhir_env _menhir_stack _menhir_s _v : 'freshtv1394)

and _menhir_run314 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 3913 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | DOT ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1389 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3925 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            _menhir_run314 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState315 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run311 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState315 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState315) : 'freshtv1390)
    | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GETS | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce153 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1391 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3947 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1392)

and _menhir_run317 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run317 _menhir_env (Obj.magic _menhir_stack) MenhirState317 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState317 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState317 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState317

and _menhir_reduce148 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_g = 
# 119 "lang/parser.mly"
     ()
# 3974 "lang/parser.ml"
     in
    _menhir_goto_g _menhir_env _menhir_stack _menhir_s _v

and _menhir_run225 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1387) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_g = 
# 119 "lang/parser.mly"
               ()
# 3987 "lang/parser.ml"
     in
    (_menhir_goto_g _menhir_env _menhir_stack _menhir_s _v : 'freshtv1388)

and _menhir_goto_args_of_params : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_args_of_params -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState199 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1333 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4000 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1331 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4006 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        let ((((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, (_2 : (
# 30 "lang/parser.mly"
       (string)
# 4011 "lang/parser.ml"
        )), _startpos__2_), _endpos__3_), _, (_4 : 'tv_args_of_params)) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 390 "lang/parser.mly"
                                 ( (fst _4), _2::(snd _4) )
# 4016 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1332)) : 'freshtv1334)
    | MenhirState196 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1337 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4024 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1335 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4030 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4035 "lang/parser.ml"
        )), _startpos__1_), _endpos__2_), _, (_3 : 'tv_args_of_params)) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 389 "lang/parser.mly"
                                 ( _1::(fst _3), (snd _3) )
# 4040 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1336)) : 'freshtv1338)
    | MenhirState194 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1349 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4048 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1345 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4058 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1341 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4070 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1339 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4078 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__6_ : Lexing.position) = _endpos in
                let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : (
# 32 "lang/parser.mly"
       (string)
# 4084 "lang/parser.ml"
                )), _startpos__3_), _, (_4 : 'tv_args_of_params)), _endpos__5_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__6_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 380 "lang/parser.mly"
                                                  ( args_of ~pos:_loc ~only:(fst _4) ~except:(snd _4) _3 )
# 4093 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1340)) : 'freshtv1342)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1343 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4104 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1344)) : 'freshtv1346)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1347 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4115 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1348)) : 'freshtv1350)
    | MenhirState215 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1361 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1357 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1353 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1351 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__6_ : Lexing.position) = _endpos in
                let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_subfield_lbra)), _, (_4 : 'tv_args_of_params)), _endpos__5_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__6_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 382 "lang/parser.mly"
                          ( args_of ~pos:_loc (String.concat "." _3) ~only:(fst _4) ~except:(snd _4) )
# 4149 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1352)) : 'freshtv1354)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1355 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1356)) : 'freshtv1358)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1359 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1360)) : 'freshtv1362)
    | MenhirState267 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1373 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4172 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1369 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4182 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1365 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4194 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1363 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4202 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__6_ : Lexing.position) = _endpos in
                let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : (
# 32 "lang/parser.mly"
       (string)
# 4208 "lang/parser.ml"
                )), _startpos__3_), _, (_4 : 'tv_args_of_params)), _endpos__5_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__6_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 304 "lang/parser.mly"
                                                  ( app_of ~pos:_loc ~only:(fst _4) ~except:(snd _4) _3 )
# 4217 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1364)) : 'freshtv1366)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1367 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4228 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1368)) : 'freshtv1370)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1371 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4239 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1372)) : 'freshtv1374)
    | MenhirState273 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1385 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1381 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1377 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1375 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__6_ : Lexing.position) = _endpos in
                let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_subfield_lbra)), _, (_4 : 'tv_args_of_params)), _endpos__5_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__6_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 306 "lang/parser.mly"
                                 ( app_of ~pos:_loc (String.concat "." _3) ~only:(fst _4) ~except:(snd _4) )
# 4273 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1376)) : 'freshtv1378)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv1379 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1380)) : 'freshtv1382)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1383 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) * _menhir_state * 'tv_args_of_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1384)) : 'freshtv1386)
    | _ ->
        _menhir_fail ()

and _menhir_run208 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 32 "lang/parser.mly"
       (string)
# 4297 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1329) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 32 "lang/parser.mly"
       (string)
# 4308 "lang/parser.ml"
    )) : (
# 32 "lang/parser.mly"
       (string)
# 4312 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_in_subfield_lbra = 
# 394 "lang/parser.mly"
            ( [_1] )
# 4318 "lang/parser.ml"
     in
    (_menhir_goto_in_subfield_lbra _menhir_env _menhir_stack _menhir_s _v : 'freshtv1330)

and _menhir_run209 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4325 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | DOT ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1325 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4337 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            _menhir_run209 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState210 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run208 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState210 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState210) : 'freshtv1326)
    | RPAR ->
        _menhir_reduce153 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1327 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4359 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1328)

and _menhir_run130 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4367 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | GETS ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1321 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4379 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1315) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 4391 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOT ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1309 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4403 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | VAR _v ->
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ('freshtv1303 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4413 "lang/parser.ml"
                    ) * Lexing.position)) = Obj.magic _menhir_stack in
                    let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                    let (_v : (
# 30 "lang/parser.mly"
       (string)
# 4419 "lang/parser.ml"
                    )) = _v in
                    let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
                    let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
                    let _menhir_env = _menhir_discard _menhir_env in
                    let _tok = _menhir_env._menhir_token in
                    ((match _tok with
                    | DOT ->
                        let (_menhir_env : _menhir_env) = _menhir_env in
                        let (_menhir_stack : (('freshtv1297 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4431 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4435 "lang/parser.ml"
                        ) * Lexing.position) = Obj.magic _menhir_stack in
                        let _menhir_env = _menhir_discard _menhir_env in
                        let _tok = _menhir_env._menhir_token in
                        ((match _tok with
                        | VAR _v ->
                            let (_menhir_env : _menhir_env) = _menhir_env in
                            let (_menhir_stack : ((('freshtv1291 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4445 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4449 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 4455 "lang/parser.ml"
                            )) = _v in
                            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
                            let _menhir_env = _menhir_discard _menhir_env in
                            ((let (_menhir_env : _menhir_env) = _menhir_env in
                            let (_menhir_stack : ((('freshtv1289 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4463 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4467 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            let (_endpos__5_ : Lexing.position) = _endpos in
                            let ((_5 : (
# 30 "lang/parser.mly"
       (string)
# 4473 "lang/parser.ml"
                            )) : (
# 30 "lang/parser.mly"
       (string)
# 4477 "lang/parser.ml"
                            )) = _v in
                            let (_startpos__5_ : Lexing.position) = _startpos in
                            let ((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4483 "lang/parser.ml"
                            )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 4487 "lang/parser.ml"
                            )), _startpos__3_) = _menhir_stack in
                            let _v : 'tv_ty_content = 
# 248 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3 ^ "." ^ _5, [] )
# 4492 "lang/parser.ml"
                             in
                            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1290)) : 'freshtv1292)
                        | VARLPAR _v ->
                            let (_menhir_env : _menhir_env) = _menhir_env in
                            let (_menhir_stack : ((('freshtv1293 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4500 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4504 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                            let (_v : (
# 31 "lang/parser.mly"
       (string)
# 4510 "lang/parser.ml"
                            )) = _v in
                            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
                            let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
                            let _menhir_env = _menhir_discard _menhir_env in
                            let _tok = _menhir_env._menhir_token in
                            ((match _tok with
                            | STRING _v ->
                                _menhir_run138 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState151 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                            | VAR _v ->
                                _menhir_run133 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState151 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                            | RPAR ->
                                _menhir_reduce215 _menhir_env (Obj.magic _menhir_stack) MenhirState151
                            | _ ->
                                assert (not _menhir_env._menhir_error);
                                _menhir_env._menhir_error <- true;
                                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState151) : 'freshtv1294)
                        | _ ->
                            assert (not _menhir_env._menhir_error);
                            _menhir_env._menhir_error <- true;
                            let (_menhir_env : _menhir_env) = _menhir_env in
                            let (_menhir_stack : ((('freshtv1295 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4534 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4538 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            (raise _eRR : 'freshtv1296)) : 'freshtv1298)
                    | COMMA | RPAR ->
                        let (_menhir_env : _menhir_env) = _menhir_env in
                        let (_menhir_stack : (('freshtv1299 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4546 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4550 "lang/parser.ml"
                        ) * Lexing.position) = Obj.magic _menhir_stack in
                        let ((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4555 "lang/parser.ml"
                        )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 4559 "lang/parser.ml"
                        )), _startpos__3_) = _menhir_stack in
                        let _v : 'tv_ty_content = 
# 247 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3, [] )
# 4564 "lang/parser.ml"
                         in
                        (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1300)
                    | _ ->
                        assert (not _menhir_env._menhir_error);
                        _menhir_env._menhir_error <- true;
                        let (_menhir_env : _menhir_env) = _menhir_env in
                        let (_menhir_stack : (('freshtv1301 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4574 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4578 "lang/parser.ml"
                        ) * Lexing.position) = Obj.magic _menhir_stack in
                        (raise _eRR : 'freshtv1302)) : 'freshtv1304)
                | VARLPAR _v ->
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ('freshtv1305 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4586 "lang/parser.ml"
                    ) * Lexing.position)) = Obj.magic _menhir_stack in
                    let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                    let (_v : (
# 31 "lang/parser.mly"
       (string)
# 4592 "lang/parser.ml"
                    )) = _v in
                    let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
                    let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
                    let _menhir_env = _menhir_discard _menhir_env in
                    let _tok = _menhir_env._menhir_token in
                    ((match _tok with
                    | STRING _v ->
                        _menhir_run138 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState146 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VAR _v ->
                        _menhir_run133 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState146 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | RPAR ->
                        _menhir_reduce215 _menhir_env (Obj.magic _menhir_stack) MenhirState146
                    | _ ->
                        assert (not _menhir_env._menhir_error);
                        _menhir_env._menhir_error <- true;
                        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState146) : 'freshtv1306)
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ('freshtv1307 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4616 "lang/parser.ml"
                    ) * Lexing.position)) = Obj.magic _menhir_stack in
                    (raise _eRR : 'freshtv1308)) : 'freshtv1310)
            | COMMA | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1311 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4624 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4629 "lang/parser.ml"
                )), _startpos__1_) = _menhir_stack in
                let _v : 'tv_ty_content = 
# 246 "lang/parser.mly"
                                  ( _1, [] )
# 4634 "lang/parser.ml"
                 in
                (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1312)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1313 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4644 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                (raise _eRR : 'freshtv1314)) : 'freshtv1316)
        | VARLPAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1317) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 31 "lang/parser.mly"
       (string)
# 4654 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | STRING _v ->
                _menhir_run138 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState132 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run133 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState132 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | RPAR ->
                _menhir_reduce215 _menhir_env (Obj.magic _menhir_stack) MenhirState132
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState132) : 'freshtv1318)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1319 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4678 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1320)) : 'freshtv1322)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1323 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4689 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1324)

and _menhir_goto_ty_source : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ty_source -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1287) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : 'tv_ty_source) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1285) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : 'tv_ty_source) : 'tv_ty_source) = _v in
    let _v : 'tv_ty = 
# 235 "lang/parser.mly"
                               ( _1 )
# 4707 "lang/parser.ml"
     in
    (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1286)) : 'freshtv1288)

and _menhir_reduce198 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4714 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4720 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 230 "lang/parser.mly"
                               ( mk_ty ~pos:_loc _1 )
# 4729 "lang/parser.ml"
       : 'tv_ty)
    in
    _menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v

and _menhir_reduce44 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_argsty = 
# 278 "lang/parser.mly"
                       ( [] )
# 4739 "lang/parser.ml"
     in
    _menhir_goto_argsty _menhir_env _menhir_stack _menhir_s _v

and _menhir_run163 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4746 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | COLON ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1281 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4758 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | LBRA ->
            _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState164 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState164 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState164 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState164 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState164) : 'freshtv1282)
    | COMMA | QUESTION | RPAR | TIMES ->
        _menhir_reduce198 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1283 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4784 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1284)

and _menhir_run171 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1277 * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 4802 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1273 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4814 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | LBRA ->
                _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState173 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState173 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState173 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState173 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState173) : 'freshtv1274)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1275 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4838 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1276)) : 'freshtv1278)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1279 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1280)

and _menhir_goto_ffmpeg_params : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ffmpeg_params -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState114 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1243 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1239 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1237 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _menhir_s), _startpos__2_), _, (_3 : 'tv_ffmpeg_params)) = _menhir_stack in
            let _v : 'tv_ffmpeg_list_elem = 
# 444 "lang/parser.mly"
                                      ( `Video_raw  _3 )
# 4872 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1238)) : 'freshtv1240)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1241 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1242)) : 'freshtv1244)
    | MenhirState348 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1247 * _menhir_state * 'tv_ffmpeg_param) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1245 * _menhir_state * 'tv_ffmpeg_param) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_ffmpeg_param)), _endpos__2_), _, (_3 : 'tv_ffmpeg_params)) = _menhir_stack in
        let _v : 'tv_ffmpeg_params = 
# 431 "lang/parser.mly"
                                     ( _1::_3 )
# 4891 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1246)) : 'freshtv1248)
    | MenhirState353 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1255 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1251 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1249 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _menhir_s), _startpos__2_), _, (_3 : 'tv_ffmpeg_params)) = _menhir_stack in
            let _v : 'tv_ffmpeg_list_elem = 
# 445 "lang/parser.mly"
                                      ( `Video  _3 )
# 4912 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1250)) : 'freshtv1252)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1253 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1254)) : 'freshtv1256)
    | MenhirState357 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1263 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1259 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1257 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _menhir_s), _startpos__2_), _, (_3 : 'tv_ffmpeg_params)) = _menhir_stack in
            let _v : 'tv_ffmpeg_list_elem = 
# 436 "lang/parser.mly"
                                      ( `Audio_raw _3 )
# 4940 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1258)) : 'freshtv1260)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1261 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1262)) : 'freshtv1264)
    | MenhirState363 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1271 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1267 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1265 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _menhir_s), _startpos__2_), _, (_3 : 'tv_ffmpeg_params)) = _menhir_stack in
            let _v : 'tv_ffmpeg_list_elem = 
# 439 "lang/parser.mly"
                                      ( `Audio  _3 )
# 4968 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1266)) : 'freshtv1268)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1269 * _menhir_state) * Lexing.position) * _menhir_state * 'tv_ffmpeg_params) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1270)) : 'freshtv1272)
    | _ ->
        _menhir_fail ()

and _menhir_run293 : _menhir_env -> 'ttv_tail * _menhir_state * 'tv_record -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos ->
    let _menhir_stack = (_menhir_stack, _endpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1233 * _menhir_state * 'tv_record) * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 4994 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1229 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 5006 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState295) : 'freshtv1230)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1231 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 5100 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _menhir_s, _), _), _, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1232)) : 'freshtv1234)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1235 * _menhir_state * 'tv_record) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1236)

and _menhir_goto_s : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_s -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState233 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1217 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState235 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | CATCH | ELSE | ELSIF | END | EOF | SEQSEQ | THEN ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1215 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_list_binding), _startpos__1_), _endpos__2_, _, _) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v =
              let _endpos = _endpos__2_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 127 "lang/parser.mly"
                             ( mk_list_let ~pos:_loc _1 (mk ~pos:_loc unit) )
# 5221 "lang/parser.ml"
               : 'tv_exprs)
            in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1216)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState235) : 'freshtv1218)
    | MenhirState237 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1221 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState297 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | CATCH | ELSE | ELSIF | END | EOF | SEQSEQ | THEN ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1219 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v : 'tv_exprs = 
# 123 "lang/parser.mly"
                             ( _1 )
# 5330 "lang/parser.ml"
             in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1220)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState297) : 'freshtv1222)
    | MenhirState302 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1225 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | CATCH | ELSE | ELSIF | END | EOF | SEQSEQ | THEN ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1223 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_binding), _startpos__1_), _endpos__2_, _, _) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v =
              let _endpos = _endpos__2_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 125 "lang/parser.mly"
                             ( mk_let ~pos:_loc__1_ _1 (mk ~pos:_loc unit) )
# 5443 "lang/parser.ml"
               : 'tv_exprs)
            in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1224)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState303) : 'freshtv1226)
    | MenhirState446 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1227 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState447 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState447) : 'freshtv1228)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ogg_audio_item : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ogg_audio_item -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState62 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1203 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1199 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1197 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_endpos__6_ : Lexing.position) = _endpos in
            let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : 'tv_ogg_video_item), _startpos__3_), _endpos__4_), _, (_5 : 'tv_ogg_audio_item)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v =
              let _endpos = _endpos__6_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 163 "lang/parser.mly"
                                                      ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _5; video = Some _3}) )
# 5578 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1198)) : 'freshtv1200)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1201 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1202)) : 'freshtv1204)
    | MenhirState56 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1213 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1205 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState67 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState67) : 'freshtv1206)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1209 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1207 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_ogg_audio_item)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__4_ in
            let _v =
              let _endpos = _endpos__4_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 164 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _3; video = None}) )
# 5627 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1208)) : 'freshtv1210)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1211 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1212)) : 'freshtv1214)
    | _ ->
        _menhir_fail ()

and _menhir_goto_top_level_ogg_audio_item : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_top_level_ogg_audio_item -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    match _menhir_s with
    | MenhirState62 | MenhirState56 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1191) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_top_level_ogg_audio_item) = _v in
        let (_startpos : Lexing.position) = _startpos in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1189) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let ((_1 : 'tv_top_level_ogg_audio_item) : 'tv_top_level_ogg_audio_item) = _v in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _v : 'tv_ogg_audio_item = 
# 420 "lang/parser.mly"
                             ( _1 )
# 5660 "lang/parser.ml"
         in
        (_menhir_goto_ogg_audio_item _menhir_env _menhir_stack _menhir_s _v : 'freshtv1190)) : 'freshtv1192)
    | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState27 | MenhirState29 | MenhirState36 | MenhirState37 | MenhirState40 | MenhirState457 | MenhirState452 | MenhirState41 | MenhirState447 | MenhirState54 | MenhirState70 | MenhirState439 | MenhirState77 | MenhirState433 | MenhirState79 | MenhirState81 | MenhirState421 | MenhirState82 | MenhirState418 | MenhirState413 | MenhirState411 | MenhirState409 | MenhirState407 | MenhirState85 | MenhirState404 | MenhirState401 | MenhirState94 | MenhirState97 | MenhirState388 | MenhirState102 | MenhirState104 | MenhirState374 | MenhirState107 | MenhirState343 | MenhirState116 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState303 | MenhirState300 | MenhirState297 | MenhirState295 | MenhirState285 | MenhirState281 | MenhirState243 | MenhirState263 | MenhirState261 | MenhirState259 | MenhirState257 | MenhirState255 | MenhirState253 | MenhirState251 | MenhirState249 | MenhirState247 | MenhirState245 | MenhirState240 | MenhirState238 | MenhirState235 | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1195) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_top_level_ogg_audio_item) = _v in
        let (_startpos : Lexing.position) = _startpos in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1193) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let ((_1 : 'tv_top_level_ogg_audio_item) : 'tv_top_level_ogg_audio_item) = _v in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v =
          let _endpos = _endpos__1_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 166 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _1; video = None}) )
# 5685 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1194)) : 'freshtv1196)
    | _ ->
        _menhir_fail ()

and _menhir_run8 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 5695 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1187) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 30 "lang/parser.mly"
       (string)
# 5706 "lang/parser.ml"
    )) : (
# 30 "lang/parser.mly"
       (string)
# 5710 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_value = 
# 480 "lang/parser.mly"
        ( _1 )
# 5716 "lang/parser.ml"
     in
    (_menhir_goto_annotate_value _menhir_env _menhir_stack _menhir_s _v : 'freshtv1188)

and _menhir_run9 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 5723 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1185) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 34 "lang/parser.mly"
       (string)
# 5734 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 5738 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_value = 
# 481 "lang/parser.mly"
           ( _1 )
# 5744 "lang/parser.ml"
     in
    (_menhir_goto_annotate_value _menhir_env _menhir_stack _menhir_s _v : 'freshtv1186)

and _menhir_run10 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 35 "lang/parser.mly"
       (int)
# 5751 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1183) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 35 "lang/parser.mly"
       (int)
# 5762 "lang/parser.ml"
    )) : (
# 35 "lang/parser.mly"
       (int)
# 5766 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_value = 
# 477 "lang/parser.mly"
        ( string_of_int _1 )
# 5772 "lang/parser.ml"
     in
    (_menhir_goto_annotate_value _menhir_env _menhir_stack _menhir_s _v : 'freshtv1184)

and _menhir_run11 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 36 "lang/parser.mly"
       (float)
# 5779 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1181) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 36 "lang/parser.mly"
       (float)
# 5790 "lang/parser.ml"
    )) : (
# 36 "lang/parser.mly"
       (float)
# 5794 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_value = 
# 478 "lang/parser.mly"
          ( string_of_float _1 )
# 5800 "lang/parser.ml"
     in
    (_menhir_goto_annotate_value _menhir_env _menhir_stack _menhir_s _v : 'freshtv1182)

and _menhir_run12 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 37 "lang/parser.mly"
       (bool)
# 5807 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1179) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 37 "lang/parser.mly"
       (bool)
# 5818 "lang/parser.ml"
    )) : (
# 37 "lang/parser.mly"
       (bool)
# 5822 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_value = 
# 479 "lang/parser.mly"
         ( string_of_bool _1 )
# 5828 "lang/parser.ml"
     in
    (_menhir_goto_annotate_value _menhir_env _menhir_stack _menhir_s _v : 'freshtv1180)

and _menhir_goto_app_list : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_app_list -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState281 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1153 * _menhir_state * 'tv_app_list_elem) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1151 * _menhir_state * 'tv_app_list_elem) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_app_list_elem)), _endpos__2_), _, (_3 : 'tv_app_list)) = _menhir_stack in
        let _v : 'tv_app_list = 
# 310 "lang/parser.mly"
                                 ( _1@_3 )
# 5845 "lang/parser.ml"
         in
        (_menhir_goto_app_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1152)) : 'freshtv1154)
    | MenhirState243 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1161 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5853 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1157 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5863 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1155 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5871 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _), _endpos__3_, (_3 : (
# 31 "lang/parser.mly"
       (string)
# 5877 "lang/parser.ml"
            )), _startpos__3_), _, (_4 : 'tv_app_list)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v =
              let _endpos = _endpos__5_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 174 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:(_startpos__1_,_endpos__3_) (Invoke (_1, _3)), _4)) )
# 5888 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1156)) : 'freshtv1158)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1159 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5899 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1160)) : 'freshtv1162)
    | MenhirState36 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1169 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5908 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1165 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5918 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1163 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5926 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 31 "lang/parser.mly"
       (string)
# 5932 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_app_list)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 175 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var _1), _2)) )
# 5944 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1164)) : 'freshtv1166)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1167 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5955 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1168)) : 'freshtv1170)
    | MenhirState29 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1177 * _menhir_state * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1173 * _menhir_state * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1171 * _menhir_state * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_app_list)) = _menhir_stack in
            let _endpos = _endpos__3_ in
            let _v : 'tv_app_opt = 
# 409 "lang/parser.mly"
                       ( _2 )
# 5978 "lang/parser.ml"
             in
            (_menhir_goto_app_opt _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1172)) : 'freshtv1174)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1175 * _menhir_state * Lexing.position) * _menhir_state * 'tv_app_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1176)) : 'freshtv1178)
    | _ ->
        _menhir_fail ()

and _menhir_goto_pattern : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_pattern -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState317 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1135 * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            _menhir_run321 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1133 * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1134)) : 'freshtv1136)
    | MenhirState321 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1141 * _menhir_state * 'tv_pattern) * Lexing.position) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            _menhir_run321 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1137 * _menhir_state * 'tv_pattern) * Lexing.position) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _menhir_s, (_1 : 'tv_pattern)), _endpos__2_), _, (_3 : 'tv_pattern)) = _menhir_stack in
            let _v : 'tv_pattern_list = 
# 328 "lang/parser.mly"
                          ( [_1;_3] )
# 6025 "lang/parser.ml"
             in
            (_menhir_goto_pattern_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1138)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1139 * _menhir_state * 'tv_pattern) * Lexing.position) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1140)) : 'freshtv1142)
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1143 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6040 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            _menhir_run225 _menhir_env (Obj.magic _menhir_stack) MenhirState335
        | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            _menhir_reduce148 _menhir_env (Obj.magic _menhir_stack) MenhirState335
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState335) : 'freshtv1144)
    | MenhirState395 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1149 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1145 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState404) : 'freshtv1146)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1147 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1148)) : 'freshtv1150)
    | _ ->
        _menhir_fail ()

and _menhir_goto_list_bind : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_list_bind -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState88 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1127 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1123 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1119 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | AVI ->
                    _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState94 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState94) : 'freshtv1120)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1121 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1122)) : 'freshtv1124)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1125 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1126)) : 'freshtv1128)
    | MenhirState393 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1131 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) * Lexing.position) * _menhir_state * 'tv_list_bind) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1129 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) * Lexing.position) * _menhir_state * 'tv_list_bind) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_), _endpos__2_), _, (_3 : 'tv_list_bind)) = _menhir_stack in
        let _v : 'tv_list_bind = 
# 355 "lang/parser.mly"
                            ( _1::(fst _3), snd _3 )
# 6286 "lang/parser.ml"
         in
        (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv1130)) : 'freshtv1132)
    | _ ->
        _menhir_fail ()

and _menhir_goto_inner_list : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_inner_list -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState421 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1097 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1095 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_inner_list_item), _startpos__1_), _endpos__2_), _endpos__3_, _, (_3 : 'tv_inner_list)) = _menhir_stack in
        let _endpos = _endpos__3_ in
        let _v =
          let _endpos = _endpos__3_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 286 "lang/parser.mly"
                          ( append_list ~pos:_loc _1 _3 )
# 6310 "lang/parser.ml"
           : 'tv_inner_list)
        in
        (_menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1096)) : 'freshtv1098)
    | MenhirState82 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1117 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1113 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1111 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_inner_list)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v : 'tv_varlist = 
# 283 "lang/parser.mly"
                         ( _2 )
# 6334 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1109) = _menhir_stack in
            let (_endpos : Lexing.position) = _endpos in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : 'tv_varlist) = _v in
            let (_startpos : Lexing.position) = _startpos in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            (((match _menhir_s with
            | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState27 | MenhirState29 | MenhirState36 | MenhirState37 | MenhirState40 | MenhirState457 | MenhirState452 | MenhirState41 | MenhirState447 | MenhirState54 | MenhirState70 | MenhirState439 | MenhirState77 | MenhirState433 | MenhirState79 | MenhirState81 | MenhirState421 | MenhirState82 | MenhirState418 | MenhirState413 | MenhirState411 | MenhirState409 | MenhirState407 | MenhirState85 | MenhirState404 | MenhirState401 | MenhirState94 | MenhirState97 | MenhirState388 | MenhirState102 | MenhirState104 | MenhirState374 | MenhirState107 | MenhirState343 | MenhirState116 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState303 | MenhirState300 | MenhirState297 | MenhirState295 | MenhirState285 | MenhirState281 | MenhirState243 | MenhirState263 | MenhirState261 | MenhirState259 | MenhirState257 | MenhirState255 | MenhirState253 | MenhirState251 | MenhirState249 | MenhirState247 | MenhirState245 | MenhirState240 | MenhirState238 | MenhirState235 | MenhirState226 ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1101 * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1099 * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_varlist), _startpos__1_) = _menhir_stack in
                let _startpos = _startpos__1_ in
                let _endpos = _endpos__1_ in
                let _v =
                  let _endpos = _endpos__1_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 148 "lang/parser.mly"
                                     ( mk_list ~pos:_loc _1 )
# 6359 "lang/parser.ml"
                   : 'tv_expr)
                in
                (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1100)) : 'freshtv1102)
            | MenhirState455 ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((((('freshtv1107 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                assert (not _menhir_env._menhir_error);
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | DO ->
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ((((('freshtv1103 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                    let _menhir_env = _menhir_discard _menhir_env in
                    let _tok = _menhir_env._menhir_token in
                    ((match _tok with
                    | AVI ->
                        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | BEGIN ->
                        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | BOOL _v ->
                        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | DEF _v ->
                        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | EXTERNAL ->
                        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FDKAAC ->
                        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FFMPEG ->
                        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FLAC ->
                        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FLOAT _v ->
                        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FOR ->
                        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FUN ->
                        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | GET ->
                        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | GSTREAMER ->
                        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | IF ->
                        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | INT _v ->
                        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | INTERVAL _v ->
                        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LBRA ->
                        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LCUR ->
                        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LET ->
                        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LPAR ->
                        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3 ->
                        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3_ABR ->
                        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3_VBR ->
                        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | NOT ->
                        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OGG ->
                        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OPEN ->
                        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OPUS ->
                        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | SHINE ->
                        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | SPEEX ->
                        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | STRING _v ->
                        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | THEORA ->
                        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | TIME _v ->
                        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | TRY ->
                        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | UMINUS ->
                        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | UNDERSCORE ->
                        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VAR _v ->
                        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VARLBRA _v ->
                        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VARLPAR _v ->
                        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS ->
                        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS_ABR ->
                        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS_CBR ->
                        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | WAV ->
                        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | WHILE ->
                        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | _ ->
                        assert (not _menhir_env._menhir_error);
                        _menhir_env._menhir_error <- true;
                        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState457) : 'freshtv1104)
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ((((('freshtv1105 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                    let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                    (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1106)) : 'freshtv1108)
            | _ ->
                _menhir_fail ()) : 'freshtv1110) : 'freshtv1112)) : 'freshtv1114)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1115 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_inner_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1116)) : 'freshtv1118)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ffmpeg_list : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ffmpeg_list -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState368 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1085 * _menhir_state * 'tv_ffmpeg_list_elem) * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1083 * _menhir_state * 'tv_ffmpeg_list_elem) * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_ffmpeg_list_elem)), _endpos__2_), _, (_3 : 'tv_ffmpeg_list)) = _menhir_stack in
        let _v : 'tv_ffmpeg_list = 
# 451 "lang/parser.mly"
                                       ( _1::_3 )
# 6497 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1084)) : 'freshtv1086)
    | MenhirState112 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1093 * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1089 * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1087 * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _startpos__1_), _, (_2 : 'tv_ffmpeg_list)) = _menhir_stack in
            let _endpos = _endpos__3_ in
            let _v : 'tv_ffmpeg_opt = 
# 455 "lang/parser.mly"
                          ( _2 )
# 6519 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_opt _menhir_env _menhir_stack _endpos _v : 'freshtv1088)) : 'freshtv1090)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1091 * Lexing.position) * _menhir_state * 'tv_ffmpeg_list) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1092)) : 'freshtv1094)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ffmpeg_list_elem : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ffmpeg_list_elem -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1081 * _menhir_state * 'tv_ffmpeg_list_elem) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1075 * _menhir_state * 'tv_ffmpeg_list_elem) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AUDIO ->
            _menhir_run362 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | AUDIO_COPY ->
            _menhir_run361 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | AUDIO_NONE ->
            _menhir_run360 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | AUDIO_RAW ->
            _menhir_run356 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState368 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState368 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VIDEO ->
            _menhir_run352 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | VIDEO_COPY ->
            _menhir_run351 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | VIDEO_NONE ->
            _menhir_run350 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | VIDEO_RAW ->
            _menhir_run113 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | RPAR ->
            _menhir_reduce127 _menhir_env (Obj.magic _menhir_stack) MenhirState368
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState368) : 'freshtv1076)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1077 * _menhir_state * 'tv_ffmpeg_list_elem) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_ffmpeg_list_elem)) = _menhir_stack in
        let _v : 'tv_ffmpeg_list = 
# 450 "lang/parser.mly"
                                       ( [_1] )
# 6581 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1078)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1079 * _menhir_state * 'tv_ffmpeg_list_elem) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1080)) : 'freshtv1082)

and _menhir_reduce145 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_ffmpeg_params = 
# 429 "lang/parser.mly"
                                     ( [] )
# 6597 "lang/parser.ml"
     in
    _menhir_goto_ffmpeg_params _menhir_env _menhir_stack _menhir_s _v

and _menhir_goto_replaces : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_replaces -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState123 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1065 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6610 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | LPAR ->
            _menhir_run317 _menhir_env (Obj.magic _menhir_stack) MenhirState310 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState310 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1063) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState310 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 6627 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOT ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1059 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6639 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | VAR _v ->
                    _menhir_run314 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState313 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run311 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState313 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState313) : 'freshtv1060)
            | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GETS | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
                _menhir_reduce57 _menhir_env (Obj.magic _menhir_stack)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1061 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6661 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1062)) : 'freshtv1064)
        | VARLPAR _v ->
            _menhir_run311 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState310 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState310) : 'freshtv1066)
    | MenhirState86 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1073 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | LPAR ->
            _menhir_run317 _menhir_env (Obj.magic _menhir_stack) MenhirState395 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1071) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState395 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 6689 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOT ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1067 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6701 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | VAR _v ->
                    _menhir_run398 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState397) : 'freshtv1068)
            | GETS ->
                _menhir_reduce57 _menhir_env (Obj.magic _menhir_stack)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1069 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6721 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1070)) : 'freshtv1072)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState395) : 'freshtv1074)
    | _ ->
        _menhir_fail ()

and _menhir_goto_arglist : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_arglist -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState125 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1037 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6741 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6745 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1033 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6755 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6759 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run225 _menhir_env (Obj.magic _menhir_stack) MenhirState224
            | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
                _menhir_reduce148 _menhir_env (Obj.magic _menhir_stack) MenhirState224
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState224) : 'freshtv1034)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1035 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6781 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6785 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1036)) : 'freshtv1038)
    | MenhirState308 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1041 * _menhir_state * 'tv_arg) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1039 * _menhir_state * 'tv_arg) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, (_1 : 'tv_arg)), _endpos__2_), _, (_3 : 'tv_arglist)) = _menhir_stack in
        let _v : 'tv_arglist = 
# 370 "lang/parser.mly"
                          ( _1@_3 )
# 6798 "lang/parser.ml"
         in
        (_menhir_goto_arglist _menhir_env _menhir_stack _menhir_s _v : 'freshtv1040)) : 'freshtv1042)
    | MenhirState325 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1047 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6806 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1043 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6816 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run225 _menhir_env (Obj.magic _menhir_stack) MenhirState327
            | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
                _menhir_reduce148 _menhir_env (Obj.magic _menhir_stack) MenhirState327
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState327) : 'freshtv1044)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1045 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6838 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1046)) : 'freshtv1048)
    | MenhirState99 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1057 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1053 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | YIELDS ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1049 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | AVI ->
                    _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState388) : 'freshtv1050)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1051 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) = Obj.magic _menhir_stack in
                let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1052)) : 'freshtv1054)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1055 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1056)) : 'freshtv1058)
    | _ ->
        _menhir_fail ()

and _menhir_reduce175 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_opt = 
# 385 "lang/parser.mly"
              ( None )
# 6966 "lang/parser.ml"
     in
    _menhir_goto_opt _menhir_env _menhir_stack _menhir_s _v

and _menhir_run104 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState104 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState104

and _menhir_run195 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 7062 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1027 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 7074 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GET ->
            _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState196 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState196 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState196) : 'freshtv1028)
    | RBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1029 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 7094 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 7099 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 387 "lang/parser.mly"
                                 ( [_1], [] )
# 7104 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1030)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1031 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 7114 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1032)

and _menhir_run197 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1023 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 7132 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1017 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7144 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GET ->
                _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState199 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState199 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState199) : 'freshtv1018)
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1019 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7164 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, (_2 : (
# 30 "lang/parser.mly"
       (string)
# 7169 "lang/parser.ml"
            )), _startpos__2_) = _menhir_stack in
            let _v : 'tv_args_of_params = 
# 388 "lang/parser.mly"
                                 ( [], [_2] )
# 7174 "lang/parser.ml"
             in
            (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1020)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1021 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7184 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _, _menhir_s, _), _, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1022)) : 'freshtv1024)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1025 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1026)

and _menhir_goto_arg : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_arg -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv1015 * _menhir_state * 'tv_arg) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1009 * _menhir_state * 'tv_arg) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ARGS_OF ->
            _menhir_run192 _menhir_env (Obj.magic _menhir_stack) MenhirState308 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run126 _menhir_env (Obj.magic _menhir_stack) MenhirState308 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run100 _menhir_env (Obj.magic _menhir_stack) MenhirState308
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState308 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState308 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce37 _menhir_env (Obj.magic _menhir_stack) MenhirState308
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState308) : 'freshtv1010)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1011 * _menhir_state * 'tv_arg) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_arg)) = _menhir_stack in
        let _v : 'tv_arglist = 
# 369 "lang/parser.mly"
                          ( _1 )
# 7235 "lang/parser.ml"
         in
        (_menhir_goto_arglist _menhir_env _menhir_stack _menhir_s _v : 'freshtv1012)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1013 * _menhir_state * 'tv_arg) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1014)) : 'freshtv1016)

and _menhir_run207 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 7249 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | VAR _v ->
        _menhir_run209 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState207 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run208 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState207 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState207

and _menhir_goto_inner_tuple : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_inner_tuple -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState77 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1003 * _menhir_state * Lexing.position) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv999 * _menhir_state * Lexing.position) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv997 * _menhir_state * Lexing.position) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_inner_tuple)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 169 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple _2) )
# 7292 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv998)) : 'freshtv1000)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1001 * _menhir_state * Lexing.position) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1002)) : 'freshtv1004)
    | MenhirState439 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1007 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1005 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * _menhir_state * 'tv_inner_tuple) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _), _, (_3 : 'tv_inner_tuple)) = _menhir_stack in
        let _v : 'tv_inner_tuple = 
# 296 "lang/parser.mly"
                           ( _1::_3 )
# 7312 "lang/parser.ml"
         in
        (_menhir_goto_inner_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1006)) : 'freshtv1008)
    | _ ->
        _menhir_fail ()

and _menhir_run439 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState439

and _menhir_run129 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 7410 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv995 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 7422 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState129 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv993 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 7431 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 31 "lang/parser.mly"
       (string)
# 7438 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 238 "lang/parser.mly"
                                  ( mk_source_ty ~pos:_loc _1 [] )
# 7447 "lang/parser.ml"
           : 'tv_ty_source)
        in
        (_menhir_goto_ty_source _menhir_env _menhir_stack _menhir_s _v : 'freshtv994)) : 'freshtv996)
    | VAR _v ->
        _menhir_run130 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState129 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState129

and _menhir_run161 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 7461 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    _menhir_reduce198 _menhir_env (Obj.magic _menhir_stack)

and _menhir_run162 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LBRA ->
        _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState162 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState162 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | QUESTION ->
        _menhir_run171 _menhir_env (Obj.magic _menhir_stack) MenhirState162
    | VAR _v ->
        _menhir_run163 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState162 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState162 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        _menhir_reduce44 _menhir_env (Obj.magic _menhir_stack) MenhirState162
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState162

and _menhir_run165 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LBRA ->
        _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState165 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState165 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState165 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState165 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState165

and _menhir_goto_exprss : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_exprss -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv987 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv983 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv981 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_exprss)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 180 "lang/parser.mly"
                                     ( mk_fun ~pos:_loc [] _2 )
# 7538 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv982)) : 'freshtv984)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv985 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv986)) : 'freshtv988)
    | MenhirState433 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv991 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv989 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * Lexing.position * _menhir_state * 'tv_exprss) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _), _endpos__3_, _, (_3 : 'tv_exprss)) = _menhir_stack in
        let _endpos = _endpos__3_ in
        let _v =
          let _endpos = _endpos__3_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 133 "lang/parser.mly"
                    ( mk ~pos:_loc (Seq (_1,_3)) )
# 7563 "lang/parser.ml"
           : 'tv_exprss)
        in
        (_menhir_goto_exprss _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv990)) : 'freshtv992)
    | _ ->
        _menhir_fail ()

and _menhir_goto_inner_list_item : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_inner_list_item -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv979 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv973 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOTDOTDOT ->
            _menhir_run418 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState421 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RBRA ->
            _menhir_reduce159 _menhir_env (Obj.magic _menhir_stack) MenhirState421
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState421) : 'freshtv974)
    | RBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv975 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_inner_list_item), _startpos__1_) = _menhir_stack in
        let _endpos = _endpos__1_ in
        let _v =
          let _endpos = _endpos__1_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 287 "lang/parser.mly"
                          ( append_list ~pos:_loc _1 (`List []) )
# 7684 "lang/parser.ml"
           : 'tv_inner_list)
        in
        (_menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv976)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv977 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv978)) : 'freshtv980)

and _menhir_goto_opt : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_opt -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    match _menhir_s with
    | MenhirState190 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv955 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv953 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_6 : 'tv_opt) : 'tv_opt) = _v in
        let ((((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_bindvar), _startpos__2_), _, (_4 : 'tv_ty)), _endpos__5_) = _menhir_stack in
        let _v : 'tv_arg = 
# 376 "lang/parser.mly"
                                   ( ["", _2, _4, _6] )
# 7712 "lang/parser.ml"
         in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv954)) : 'freshtv956)
    | MenhirState221 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv959 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv957 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_opt) : 'tv_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_) = _menhir_stack in
        let _v =
          let _loc__1_ = (_startpos__1_, _endpos__1_) in
          (
# 375 "lang/parser.mly"
                 ( ["", _1, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__1_), _2] )
# 7730 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv958)) : 'freshtv960)
    | MenhirState103 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv963 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7739 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv961 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7747 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_5 : 'tv_opt) : 'tv_opt) = _v in
        let ((((_menhir_stack, _menhir_s), _endpos__2_, (_2 : (
# 30 "lang/parser.mly"
       (string)
# 7754 "lang/parser.ml"
        )), _startpos__2_), _), _endpos__4_, _, _startpos__4_) = _menhir_stack in
        let _v =
          let _loc__2_ = (_startpos__2_, _endpos__2_) in
          (
# 374 "lang/parser.mly"
                                 ( [_2, "_", Type.fresh_evar ~level:(-1) ~pos:(Some _loc__2_), _5] )
# 7761 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv962)) : 'freshtv964)
    | MenhirState101 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv967 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7770 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv965 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7778 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_3 : 'tv_opt) : 'tv_opt) = _v in
        let ((_menhir_stack, _menhir_s), _endpos__2_, (_2 : (
# 30 "lang/parser.mly"
       (string)
# 7785 "lang/parser.ml"
        )), _startpos__2_) = _menhir_stack in
        let _v =
          let _loc__2_ = (_startpos__2_, _endpos__2_) in
          (
# 372 "lang/parser.mly"
                 ( [_2, _2, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__2_), _3] )
# 7792 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv966)) : 'freshtv968)
    | MenhirState384 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv971 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7801 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv969 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7809 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let (_ : _menhir_state) = _menhir_s in
        let ((_7 : 'tv_opt) : 'tv_opt) = _v in
        let (((((_menhir_stack, _menhir_s), _startpos__2_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 7816 "lang/parser.ml"
        )), _startpos__3_), _, (_5 : 'tv_ty)), _endpos__6_) = _menhir_stack in
        let _v : 'tv_arg = 
# 373 "lang/parser.mly"
                                    ( [_3, _3, _5, _7 ] )
# 7821 "lang/parser.ml"
         in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv970)) : 'freshtv972)
    | _ ->
        _menhir_fail ()

and _menhir_goto_ffmpeg_param : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_ffmpeg_param -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState363 | MenhirState357 | MenhirState353 | MenhirState348 | MenhirState114 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv947 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv941 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | STRING _v ->
                _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState348 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState348 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | RPAR ->
                _menhir_reduce145 _menhir_env (Obj.magic _menhir_stack) MenhirState348
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState348) : 'freshtv942)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv943 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, (_1 : 'tv_ffmpeg_param)) = _menhir_stack in
            let _v : 'tv_ffmpeg_params = 
# 430 "lang/parser.mly"
                                     ( [_1] )
# 7862 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv944)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv945 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv946)) : 'freshtv948)
    | MenhirState368 | MenhirState112 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv951 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv949 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_ffmpeg_param)) = _menhir_stack in
        let _v : 'tv_ffmpeg_list_elem = 
# 446 "lang/parser.mly"
                                      ( `Option _1 )
# 7881 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv950)) : 'freshtv952)
    | _ ->
        _menhir_fail ()

and _menhir_goto_binding : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_binding -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv939 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | SEQ ->
        _menhir_run234 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState302
    | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce187 _menhir_env (Obj.magic _menhir_stack) MenhirState302
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState302) : 'freshtv940)

and _menhir_goto_record : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_record -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState289 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv929 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            _menhir_run293 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p
        | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv925 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv923 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let ((((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _), _startpos__3_), _, (_4 : 'tv_record)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v =
              let _endpos = _endpos__5_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 170 "lang/parser.mly"
                                     ( _4 ~pos:_loc _1 )
# 7934 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv924)) : 'freshtv926)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv927 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv928)) : 'freshtv930)
    | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv937 * _menhir_state * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            _menhir_run293 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p
        | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv933 * _menhir_state * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv931 * _menhir_state * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_record)) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 171 "lang/parser.mly"
                                     ( _2 ~pos:_loc (mk ~pos:_loc (Tuple [])) )
# 7971 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv932)) : 'freshtv934)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv935 * _menhir_state * Lexing.position) * _menhir_state * 'tv_record) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv936)) : 'freshtv938)
    | _ ->
        _menhir_fail ()

and _menhir_goto_app_list_elem : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_app_list_elem -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv921 * _menhir_state * 'tv_app_list_elem) = Obj.magic _menhir_stack in
    assert (not _menhir_env._menhir_error);
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv915 * _menhir_state * 'tv_app_list_elem) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let _menhir_stack = (_menhir_stack, _endpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ARGS_OF ->
            _menhir_run265 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState281 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce17 _menhir_env (Obj.magic _menhir_stack) MenhirState281
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState281) : 'freshtv916)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv917 * _menhir_state * 'tv_app_list_elem) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_app_list_elem)) = _menhir_stack in
        let _v : 'tv_app_list = 
# 309 "lang/parser.mly"
                                 ( _1 )
# 8094 "lang/parser.ml"
         in
        (_menhir_goto_app_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv918)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv919 * _menhir_state * 'tv_app_list_elem) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv920)) : 'freshtv922)

and _menhir_reduce187 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let (_, _endpos) = Obj.magic _menhir_stack in
    let _v : 'tv_s = 
# 118 "lang/parser.mly"
     ()
# 8111 "lang/parser.ml"
     in
    _menhir_goto_s _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run238 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState238

and _menhir_run240 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState240

and _menhir_run247 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState247 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState247

and _menhir_run234 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv913) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _endpos = _endpos__1_ in
    let _v : 'tv_s = 
# 118 "lang/parser.mly"
               ()
# 8393 "lang/parser.ml"
     in
    (_menhir_goto_s _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv914)

and _menhir_run249 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState249 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState249

and _menhir_run251 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState251

and _menhir_run242 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LCUR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv901 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv899) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState289 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 8597 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GETS ->
                _menhir_run81 _menhir_env (Obj.magic _menhir_stack)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv897 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 8613 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv898)) : 'freshtv900)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState289) : 'freshtv902)
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv905 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 8628 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv903 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos__3_ : Lexing.position) = _endpos in
        let ((_3 : (
# 30 "lang/parser.mly"
       (string)
# 8638 "lang/parser.ml"
        )) : (
# 30 "lang/parser.mly"
       (string)
# 8642 "lang/parser.ml"
        )) = _v in
        let (_startpos__3_ : Lexing.position) = _startpos in
        let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__3_ in
        let _v =
          let _endpos = _endpos__3_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 173 "lang/parser.mly"
                                     ( mk ~pos:_loc (Invoke (_1, _3)) )
# 8655 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv904)) : 'freshtv906)
    | VARLBRA _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv907 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 32 "lang/parser.mly"
       (string)
# 8666 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState285 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState285) : 'freshtv908)
    | VARLPAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv909 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 31 "lang/parser.mly"
       (string)
# 8762 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ARGS_OF ->
            _menhir_run265 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce17 _menhir_env (Obj.magic _menhir_stack) MenhirState243
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState243) : 'freshtv910)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv911 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv912)

and _menhir_run257 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState257

and _menhir_run259 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 55 "lang/parser.mly"
       (string)
# 8955 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState259 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState259

and _menhir_run253 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 58 "lang/parser.mly"
       (string)
# 9048 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState253

and _menhir_run261 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 57 "lang/parser.mly"
       (string)
# 9141 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState261 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState261

and _menhir_run263 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 56 "lang/parser.mly"
       (string)
# 9234 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState263 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState263

and _menhir_goto_app_opt : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_app_opt -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v ->
    match _menhir_s with
    | MenhirState30 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv807 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv805 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_top_level_ogg_audio_item = 
# 413 "lang/parser.mly"
                       ( Lang_vorbis.make_cbr _2 )
# 9344 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv806)) : 'freshtv808)
    | MenhirState32 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv811 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv809 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_top_level_ogg_audio_item = 
# 414 "lang/parser.mly"
                       ( Lang_vorbis.make_abr _2 )
# 9364 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv810)) : 'freshtv812)
    | MenhirState34 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv815 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv813 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_top_level_ogg_audio_item = 
# 412 "lang/parser.mly"
                       ( Lang_vorbis.make _2 )
# 9384 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv814)) : 'freshtv816)
    | MenhirState45 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv843 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv841 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_ogg_video_item = 
# 423 "lang/parser.mly"
                       ( Lang_theora.make _2 )
# 9404 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv839) = _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_ogg_video_item) = _v in
        let (_startpos : Lexing.position) = _startpos in
        let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
        (((match _menhir_s with
        | MenhirState56 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv825 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | COMMA ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv817 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_stack = (_menhir_stack, _endpos) in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | FLAC ->
                    _menhir_run57 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState62 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState62) : 'freshtv818)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv821 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv819 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__4_ : Lexing.position) = _endpos in
                let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : 'tv_ogg_video_item), _startpos__3_) = _menhir_stack in
                let _startpos = _startpos__1_ in
                let _endpos = _endpos__4_ in
                let _v =
                  let _endpos = _endpos__4_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 165 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = None; video = Some _3}) )
# 9462 "lang/parser.ml"
                   : 'tv_expr)
                in
                (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv820)) : 'freshtv822)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv823 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv824)) : 'freshtv826)
        | MenhirState67 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv833 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv829 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv827 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__6_ : Lexing.position) = _endpos in
                let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_ogg_audio_item)), _endpos__4_), _endpos__5_, _, (_5 : 'tv_ogg_video_item), _startpos__5_) = _menhir_stack in
                let _startpos = _startpos__1_ in
                let _endpos = _endpos__6_ in
                let _v =
                  let _endpos = _endpos__6_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 162 "lang/parser.mly"
                                                      ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _3; video = Some _5}) )
# 9497 "lang/parser.ml"
                   : 'tv_expr)
                in
                (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv828)) : 'freshtv830)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv831 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv832)) : 'freshtv834)
        | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState27 | MenhirState29 | MenhirState36 | MenhirState37 | MenhirState40 | MenhirState457 | MenhirState452 | MenhirState41 | MenhirState447 | MenhirState54 | MenhirState70 | MenhirState439 | MenhirState77 | MenhirState433 | MenhirState79 | MenhirState81 | MenhirState421 | MenhirState82 | MenhirState418 | MenhirState413 | MenhirState411 | MenhirState409 | MenhirState407 | MenhirState85 | MenhirState404 | MenhirState401 | MenhirState94 | MenhirState97 | MenhirState388 | MenhirState102 | MenhirState104 | MenhirState374 | MenhirState107 | MenhirState343 | MenhirState116 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState303 | MenhirState300 | MenhirState297 | MenhirState295 | MenhirState285 | MenhirState281 | MenhirState243 | MenhirState263 | MenhirState261 | MenhirState259 | MenhirState257 | MenhirState255 | MenhirState253 | MenhirState251 | MenhirState249 | MenhirState247 | MenhirState245 | MenhirState240 | MenhirState238 | MenhirState235 | MenhirState226 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv837 * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv835 * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_ogg_video_item), _startpos__1_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__1_ in
            let _v =
              let _endpos = _endpos__1_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 167 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = None; video = Some _1}) )
# 9523 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv836)) : 'freshtv838)
        | _ ->
            _menhir_fail ()) : 'freshtv840) : 'freshtv842)) : 'freshtv844)
    | MenhirState48 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv847 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv845 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_top_level_ogg_audio_item = 
# 415 "lang/parser.mly"
                       ( Lang_speex.make _2 )
# 9546 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv846)) : 'freshtv848)
    | MenhirState50 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv851 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv849 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 154 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_shine.make _2) )
# 9570 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv850)) : 'freshtv852)
    | MenhirState52 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv855 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv853 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v : 'tv_top_level_ogg_audio_item = 
# 416 "lang/parser.mly"
                       ( Lang_opus.make _2 )
# 9591 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv854)) : 'freshtv856)
    | MenhirState57 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv859 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv857 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _v : 'tv_ogg_audio_item = 
# 419 "lang/parser.mly"
                             ( Lang_flac.make_ogg _2 )
# 9609 "lang/parser.ml"
         in
        (_menhir_goto_ogg_audio_item _menhir_env _menhir_stack _menhir_s _v : 'freshtv858)) : 'freshtv860)
    | MenhirState71 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv863 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv861 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 152 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_vbr _2) )
# 9633 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv862)) : 'freshtv864)
    | MenhirState73 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv867 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv865 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 153 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_abr _2) )
# 9658 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv866)) : 'freshtv868)
    | MenhirState75 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv871 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv869 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 151 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_cbr _2) )
# 9683 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv870)) : 'freshtv872)
    | MenhirState95 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv875 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv873 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 159 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_gstreamer.make ~pos:_loc _2) )
# 9708 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv874)) : 'freshtv876)
    | MenhirState109 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv879 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv877 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 156 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_flac.make _2) )
# 9733 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv878)) : 'freshtv880)
    | MenhirState117 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv883 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv881 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 155 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_fdkaac.make _2) )
# 9758 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv882)) : 'freshtv884)
    | MenhirState119 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv887 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv885 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 158 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_external_encoder.make _2) )
# 9783 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv886)) : 'freshtv888)
    | MenhirState227 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv891 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv889 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 161 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_avi.make _2) )
# 9808 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv890)) : 'freshtv892)
    | MenhirState28 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv895 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : 'tv_app_opt) = _v in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv893 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let ((_2 : 'tv_app_opt) : 'tv_app_opt) = _v in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 160 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_wav.make _2) )
# 9833 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv894)) : 'freshtv896)
    | _ ->
        _menhir_fail ()

and _menhir_fail : unit -> 'a =
  fun () ->
    Printf.eprintf "Internal failure -- please contact the parser generator's developers.\n%!";
    assert false

and _menhir_goto_annotate_key : _menhir_env -> 'ttv_tail -> _menhir_state -> 'tv_annotate_key -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v) in
    match _menhir_s with
    | MenhirState0 | MenhirState3 | MenhirState4 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv797 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv793 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | BOOL _v ->
                _menhir_run12 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState7 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run11 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState7 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run10 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState7 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run9 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState7 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run8 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState7 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState7) : 'freshtv794)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv795 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv796)) : 'freshtv798)
    | MenhirState19 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv803 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv799 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | BOOL _v ->
                _menhir_run12 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run11 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run10 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run9 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run8 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState22) : 'freshtv800)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv801 * _menhir_state * 'tv_annotate_key) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv802)) : 'freshtv804)
    | _ ->
        _menhir_fail ()

and _menhir_reduce17 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_app_list = 
# 308 "lang/parser.mly"
                                 ( [] )
# 9923 "lang/parser.ml"
     in
    _menhir_goto_app_list _menhir_env _menhir_stack _menhir_s _v

and _menhir_run244 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 9930 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | GETS ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv789 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9942 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState245) : 'freshtv790)
    | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | COALESCE | COMMA | DOT | MINUS | QUESTION | RPAR | SET | TIMES | TO ->
        _menhir_reduce69 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv791 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10038 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv792)

and _menhir_run265 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv785 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv781 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState266 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 10065 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOT ->
                _menhir_run207 _menhir_env (Obj.magic _menhir_stack)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv777 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10079 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv775 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10087 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__4_ : Lexing.position) = _endpos in
                let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 10093 "lang/parser.ml"
                )), _startpos__3_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__4_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 301 "lang/parser.mly"
                                 ( app_of ~only:[] ~except:[] ~pos:_loc _3 )
# 10102 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv776)) : 'freshtv778)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv779 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10113 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv780)) : 'freshtv782)
        | VARLBRA _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv783 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState266 in
            let (_v : (
# 32 "lang/parser.mly"
       (string)
# 10125 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GET ->
                _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState267 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState267 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState267) : 'freshtv784)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState266) : 'freshtv786)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv787 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv788)

and _menhir_reduce57 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10155 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 10161 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v : 'tv_bindvar = 
# 313 "lang/parser.mly"
        ( _1 )
# 10168 "lang/parser.ml"
     in
    _menhir_goto_bindvar _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_goto_bindvar : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_bindvar -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    match _menhir_s with
    | MenhirState105 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv739 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv735 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState107) : 'freshtv736)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv737 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv738)) : 'freshtv740)
    | MenhirState126 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv745 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv741 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | LBRA ->
                _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState128 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState128 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState128 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState128 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState128) : 'freshtv742)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv743 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv744)) : 'freshtv746)
    | MenhirState99 | MenhirState325 | MenhirState308 | MenhirState125 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv747 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) MenhirState221
        | COMMA | RPAR ->
            _menhir_reduce175 _menhir_env (Obj.magic _menhir_stack) MenhirState221
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState221) : 'freshtv748)
    | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState41 | MenhirState457 | MenhirState452 | MenhirState447 | MenhirState85 | MenhirState407 | MenhirState409 | MenhirState411 | MenhirState413 | MenhirState374 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState226 | MenhirState235 | MenhirState303 | MenhirState297 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv753 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv749 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState300 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState300) : 'freshtv750)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv751 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv752)) : 'freshtv754)
    | MenhirState395 | MenhirState310 | MenhirState317 | MenhirState321 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv757 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv755 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_) = _menhir_stack in
        let _v : 'tv_pattern = 
# 317 "lang/parser.mly"
            ( PVar [_1] )
# 10432 "lang/parser.ml"
         in
        (_menhir_goto_pattern _menhir_env _menhir_stack _menhir_s _v : 'freshtv756)) : 'freshtv758)
    | MenhirState393 | MenhirState88 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv765 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COMMA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv759 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let _menhir_stack = (_menhir_stack, _endpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOTDOTDOT ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) MenhirState393 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState393 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState393 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState393) : 'freshtv760)
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv761 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_) = _menhir_stack in
            let _v : 'tv_list_bind = 
# 357 "lang/parser.mly"
                            ( [_1], None )
# 10466 "lang/parser.ml"
             in
            (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv762)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv763 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv764)) : 'freshtv766)
    | MenhirState450 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv773 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv767 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState455 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState455) : 'freshtv768)
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv769 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState452 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState452) : 'freshtv770)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv771 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv772)) : 'freshtv774)
    | _ ->
        _menhir_fail ()

and _menhir_run57 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState57 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | COMMA | RPAR ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState57
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState57

and _menhir_run90 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv731 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 10628 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv729 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let ((_2 : (
# 30 "lang/parser.mly"
       (string)
# 10638 "lang/parser.ml"
        )) : (
# 30 "lang/parser.mly"
       (string)
# 10642 "lang/parser.ml"
        )) = _v in
        let (_startpos__2_ : Lexing.position) = _startpos in
        let (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
        let _v : 'tv_list_bind = 
# 356 "lang/parser.mly"
                            ( [], Some _2 )
# 10649 "lang/parser.ml"
         in
        (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv730)) : 'freshtv732)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv733 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv734)

and _menhir_reduce69 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10663 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 10669 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 147 "lang/parser.mly"
                                     ( mk ~pos:_loc (Var _1) )
# 10680 "lang/parser.ml"
       : 'tv_expr)
    in
    _menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_run81 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10688 "lang/parser.ml"
) * Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack ->
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState81

and _menhir_reduce159 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let (_, _endpos) = Obj.magic _menhir_stack in
    let _v : 'tv_inner_list = 
# 288 "lang/parser.mly"
                          ( `List [] )
# 10783 "lang/parser.ml"
     in
    _menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run418 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState418 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState418

and _menhir_run38 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 10879 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    _menhir_reduce69 _menhir_env (Obj.magic _menhir_stack)

and _menhir_goto_ffmpeg_opt : _menhir_env -> 'ttv_tail -> Lexing.position -> 'tv_ffmpeg_opt -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv727 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
    let (_endpos : Lexing.position) = _endpos in
    let (_v : 'tv_ffmpeg_opt) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv725 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
    let (_endpos__2_ : Lexing.position) = _endpos in
    let ((_2 : 'tv_ffmpeg_opt) : 'tv_ffmpeg_opt) = _v in
    let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__2_ in
    let _v =
      let _endpos = _endpos__2_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 157 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_ffmpeg.make _2) )
# 10906 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv726)) : 'freshtv728)

and _menhir_reduce127 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_ffmpeg_list = 
# 449 "lang/parser.mly"
                                       ( [] )
# 10916 "lang/parser.ml"
     in
    _menhir_goto_ffmpeg_list _menhir_env _menhir_stack _menhir_s _v

and _menhir_run113 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv719 * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState114 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState114 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce145 _menhir_env (Obj.magic _menhir_stack) MenhirState114
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState114) : 'freshtv720)
    | COMMA | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv721 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        let _v : 'tv_ffmpeg_list_elem = 
# 443 "lang/parser.mly"
                                      ( `Video_raw [] )
# 10951 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv722)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv723 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv724)

and _menhir_run350 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv717) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 440 "lang/parser.mly"
                                      ( `Video_none )
# 10971 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv718)

and _menhir_run351 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv715) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 441 "lang/parser.mly"
                                      ( `Video_copy )
# 10984 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv716)

and _menhir_run352 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv711 * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState353 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState353 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce145 _menhir_env (Obj.magic _menhir_stack) MenhirState353
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState353) : 'freshtv712)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv713 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv714)

and _menhir_run115 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 11023 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | GETS ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv707 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11035 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState116 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState116) : 'freshtv708)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv709 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11129 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv710)

and _menhir_run342 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 11137 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | GETS ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv703 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 11149 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState343 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState343) : 'freshtv704)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv705 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 11243 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv706)

and _menhir_run356 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv697 * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState357 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState357 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce145 _menhir_env (Obj.magic _menhir_stack) MenhirState357
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState357) : 'freshtv698)
    | COMMA | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv699 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        let _v : 'tv_ffmpeg_list_elem = 
# 438 "lang/parser.mly"
                                      ( `Audio_raw [] )
# 11279 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv700)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv701 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv702)

and _menhir_run360 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv695) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 434 "lang/parser.mly"
                                      ( `Audio_none )
# 11299 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv696)

and _menhir_run361 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv693) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 435 "lang/parser.mly"
                                      ( `Audio_copy )
# 11312 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv694)

and _menhir_run362 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv689 * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState363 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState363 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce145 _menhir_env (Obj.magic _menhir_stack) MenhirState363
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState363) : 'freshtv690)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv691 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv692)

and _menhir_reduce185 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_replaces = 
# 360 "lang/parser.mly"
    ( false )
# 11353 "lang/parser.ml"
     in
    _menhir_goto_replaces _menhir_env _menhir_stack _menhir_s _v

and _menhir_run87 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv687) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_replaces = 
# 361 "lang/parser.mly"
             ( true )
# 11366 "lang/parser.ml"
     in
    (_menhir_goto_replaces _menhir_env _menhir_stack _menhir_s _v : 'freshtv688)

and _menhir_reduce37 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_arglist = 
# 368 "lang/parser.mly"
                          ( [] )
# 11375 "lang/parser.ml"
     in
    _menhir_goto_arglist _menhir_env _menhir_stack _menhir_s _v

and _menhir_run89 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 11382 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    _menhir_reduce57 _menhir_env (Obj.magic _menhir_stack)

and _menhir_run100 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _menhir_stack = (_menhir_stack, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv677 * _menhir_state) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv673 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 11410 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | COLON ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv669 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11422 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | LBRA ->
                    _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState382 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState382) : 'freshtv670)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv671 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11446 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (((_menhir_stack, _menhir_s), _), _, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv672)) : 'freshtv674)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv675 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv676)) : 'freshtv678)
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv683 * _menhir_state) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 11464 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv681 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11476 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState101 in
            let _menhir_stack = (_menhir_stack, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv679 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11550 "lang/parser.ml"
                ) * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let (_menhir_s : _menhir_state) = MenhirState102 in
                let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
                let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
                let _menhir_env = _menhir_discard _menhir_env in
                let _tok = _menhir_env._menhir_token in
                ((match _tok with
                | GETS ->
                    _menhir_run104 _menhir_env (Obj.magic _menhir_stack) MenhirState103
                | COMMA | RPAR ->
                    _menhir_reduce175 _menhir_env (Obj.magic _menhir_stack) MenhirState103
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState103) : 'freshtv680)
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState102 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState102) : 'freshtv682)
        | COMMA | RPAR ->
            _menhir_reduce175 _menhir_env (Obj.magic _menhir_stack) MenhirState101
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState101) : 'freshtv684)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv685 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv686)

and _menhir_run126 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState126 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState126 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState126

and _menhir_run192 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv665 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv661 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState193 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 11638 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | DOT ->
                _menhir_run207 _menhir_env (Obj.magic _menhir_stack)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv657 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11652 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
                let _menhir_env = _menhir_discard _menhir_env in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv655 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11660 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_endpos__4_ : Lexing.position) = _endpos in
                let (((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 11666 "lang/parser.ml"
                )), _startpos__3_) = _menhir_stack in
                let _v =
                  let _endpos = _endpos__4_ in
                  let _startpos = _startpos__1_ in
                  let _loc = (_startpos, _endpos) in
                  (
# 377 "lang/parser.mly"
                          ( args_of ~only:[] ~except:[] ~pos:_loc _3 )
# 11675 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv656)) : 'freshtv658)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv659 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11686 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
                (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv660)) : 'freshtv662)
        | VARLBRA _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv663 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState193 in
            let (_v : (
# 32 "lang/parser.mly"
       (string)
# 11698 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | GET ->
                _menhir_run197 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState194 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run195 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState194 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState194) : 'freshtv664)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState193) : 'freshtv666)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv667 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv668)

and _menhir_goto_expr : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'tv_expr -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    match _menhir_s with
    | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState41 | MenhirState457 | MenhirState452 | MenhirState447 | MenhirState85 | MenhirState407 | MenhirState409 | MenhirState411 | MenhirState413 | MenhirState374 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState226 | MenhirState303 | MenhirState297 | MenhirState235 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv495 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState237
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState237
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState237
        | SEQ ->
            _menhir_run234 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState237 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            _menhir_reduce187 _menhir_env (Obj.magic _menhir_stack) MenhirState237
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState237) : 'freshtv496)
    | MenhirState238 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv499 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState239
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState239
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv497 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 184 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Invoke (mk ~pos:_loc__2_ (Var "iterator"), "int")), ["", _1; "", _3])) )
# 11801 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv498)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState239) : 'freshtv500)
    | MenhirState240 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv503 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState241
        | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv501 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 221 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var "*"), ["",_1;"",_3])) )
# 11831 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv502)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState241) : 'freshtv504)
    | MenhirState245 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv507 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11844 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState246
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState246
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState246
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv505 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11876 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 11881 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_app_list_elem = 
# 299 "lang/parser.mly"
                  ( [_1,_3] )
# 11886 "lang/parser.ml"
             in
            (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv506)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState246) : 'freshtv508)
    | MenhirState247 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv511 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState248
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState248
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv509 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 150 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Invoke (mk ~pos:_loc__1_ (Var "ref"), "set")), ["", _1; "", _3])) )
# 11934 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv510)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState248) : 'freshtv512)
    | MenhirState249 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv515 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState250
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv513 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState250 in
            let _menhir_stack = (_menhir_stack, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState255) : 'freshtv514)
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState250
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState250
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState250) : 'freshtv516)
    | MenhirState251 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv519 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState252
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BIN1 _ | BIN2 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv517 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 222 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var "-"), ["",_1;"",_3])) )
# 12090 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv518)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState252) : 'freshtv520)
    | MenhirState253 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv523 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 12103 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState254
        | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv521 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 12115 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, (_2 : (
# 58 "lang/parser.mly"
       (string)
# 12120 "lang/parser.ml"
            )), _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 220 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12132 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv522)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState254) : 'freshtv524)
    | MenhirState255 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv527 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv525 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (((((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_), _), _endpos__5_, _, (_5 : 'tv_expr), _startpos__5_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__5_ in
        let _v =
          let _endpos = _endpos__5_ in
          let _startpos = _startpos__1_ in
          let _loc__5_ = (_startpos__5_, _endpos__5_) in
          let _loc__3_ = (_startpos__3_, _endpos__3_) in
          let _loc__1_ = (_startpos__1_, _endpos__1_) in
          let _loc = (_startpos, _endpos) in
          (
# 209 "lang/parser.mly"
                                     ( let cond = _1 in
                                       let then_b = mk_fun ~pos:_loc__3_ [] _3 in
                                       let else_b = mk_fun ~pos:_loc__5_ [] _5 in
                                       let op = mk ~pos:_loc__1_ (Var "if") in
                                       mk ~pos:_loc (App (op, ["", cond; "then", then_b; "else", else_b])) )
# 12162 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv526)) : 'freshtv528)
    | MenhirState257 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv531 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState258
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState258
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState258 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv529 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__3_ = (_startpos__3_, _endpos__3_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 185 "lang/parser.mly"
                                     ( let null = mk ~pos:_loc__1_ (Var "null") in
                                       let op =  mk ~pos:_loc__1_ (Invoke (null, "default")) in
                                       let handler = mk_fun ~pos:_loc__3_ [] _3 in
                                       mk ~pos:_loc (App (op, ["",_1;"",handler])) )
# 12210 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv530)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState258) : 'freshtv532)
    | MenhirState259 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv535 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 12223 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState260
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv533 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 12245 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, (_2 : (
# 55 "lang/parser.mly"
       (string)
# 12250 "lang/parser.ml"
            )), _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__3_ = (_startpos__3_, _endpos__3_) in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 215 "lang/parser.mly"
                                   ( let left = mk_fun ~pos:_loc__1_ [] _1 in
                                     let right= mk_fun ~pos:_loc__3_ [] _3 in
                                     mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",left;"",right])) )
# 12266 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv534)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState260) : 'freshtv536)
    | MenhirState261 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv539 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 12279 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState262 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState262
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState262 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BIN1 _ | BIN2 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv537 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 12295 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, (_2 : (
# 57 "lang/parser.mly"
       (string)
# 12300 "lang/parser.ml"
            )), _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 219 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12312 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv538)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState262) : 'freshtv540)
    | MenhirState263 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv543 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 12325 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState264 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState264 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState264
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState264 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState264 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BIN1 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv541 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 12345 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _, (_2 : (
# 56 "lang/parser.mly"
       (string)
# 12350 "lang/parser.ml"
            )), _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__2_ = (_startpos__2_, _endpos__2_) in
              let _loc = (_startpos, _endpos) in
              (
# 218 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12362 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv542)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState264) : 'freshtv544)
    | MenhirState29 | MenhirState36 | MenhirState281 | MenhirState243 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv547 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv545 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_) = _menhir_stack in
            let _v : 'tv_app_list_elem = 
# 300 "lang/parser.mly"
                  ( ["",_1] )
# 12405 "lang/parser.ml"
             in
            (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv546)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState279) : 'freshtv548)
    | MenhirState285 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv553 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12417 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState286
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState286
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState286
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv551 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12443 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState286 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv549 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12452 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__5_ : Lexing.position) = _endpos in
            let (_ : _menhir_state) = _menhir_s in
            let ((((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _), _endpos__3_, (_3 : (
# 32 "lang/parser.mly"
       (string)
# 12459 "lang/parser.ml"
            )), _startpos__3_), _endpos__4_, _, (_4 : 'tv_expr), _startpos__4_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v =
              let _endpos = _endpos__5_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 177 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc (Var "_[_]"), ["", mk ~pos:(_startpos__1_,_endpos__3_) (Invoke (_1, _3)); "", _4])) )
# 12470 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv550)) : 'freshtv552)
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState286 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState286) : 'freshtv554)
    | MenhirState295 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv557 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 12489 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState296
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState296
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState296
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv555 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 12521 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((((_menhir_stack, _menhir_s, (_1 : 'tv_record)), _endpos__2_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 12526 "lang/parser.ml"
            )), _startpos__3_), _endpos__5_, _, (_5 : 'tv_expr), _startpos__5_) = _menhir_stack in
            let _v : 'tv_record = 
# 459 "lang/parser.mly"
                               ( fun ~pos e -> mk ~pos (Meth (_3, _5, _1 ~pos e)) )
# 12531 "lang/parser.ml"
             in
            (_menhir_goto_record _menhir_env _menhir_stack _menhir_s _v : 'freshtv556)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState296) : 'freshtv558)
    | MenhirState300 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv561 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState301
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState301
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState301
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv559 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v : 'tv_binding = 
# 332 "lang/parser.mly"
                      ( (Doc.none (),[],[]),false,PVar [_1],_3 )
# 12575 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv560)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState301) : 'freshtv562)
    | MenhirState116 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv565 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 12587 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState341
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState341
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState341
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv563 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 12619 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 12624 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_ffmpeg_param = 
# 427 "lang/parser.mly"
                         ( _1,_3 )
# 12629 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_param _menhir_env _menhir_stack _menhir_s _v : 'freshtv564)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState341) : 'freshtv566)
    | MenhirState343 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv569 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 12641 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState344
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState344
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState344
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState344 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv567 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 12673 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 34 "lang/parser.mly"
       (string)
# 12678 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_ffmpeg_param = 
# 426 "lang/parser.mly"
                         ( _1,_3 )
# 12683 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_param _menhir_env _menhir_stack _menhir_s _v : 'freshtv568)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState344) : 'freshtv570)
    | MenhirState107 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv573 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState373
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv571 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState373 in
            let _menhir_stack = (_menhir_stack, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState374 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState374) : 'freshtv572)
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState373
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState373
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState373 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState373) : 'freshtv574)
    | MenhirState102 | MenhirState104 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv577 * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState377
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState377
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState377
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState377 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv575 * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _menhir_s), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _v : 'tv_opt = 
# 384 "lang/parser.mly"
              ( Some _2 )
# 12855 "lang/parser.ml"
             in
            (_menhir_goto_opt _menhir_env _menhir_stack _menhir_s _v : 'freshtv576)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState377) : 'freshtv578)
    | MenhirState388 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv581 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState389
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState389
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState389
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState389 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv579 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((((_menhir_stack, _menhir_s, _startpos__1_), _startpos__2_), _, (_3 : 'tv_arglist)), _endpos__4_), _endpos__6_, _, (_6 : 'tv_expr), _startpos__6_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v =
              let _endpos = _endpos__6_ in
              let _startpos = _startpos__1_ in
              let _loc = (_startpos, _endpos) in
              (
# 179 "lang/parser.mly"
                                     ( mk_fun ~pos:_loc _3 _6 )
# 12903 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv580)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState389) : 'freshtv582)
    | MenhirState97 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv585 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState390
        | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv583 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v =
              let _endpos = _endpos__2_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 149 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Invoke (mk ~pos:_loc__1_ (Var "ref"), "get")), ["", _2])) )
# 12933 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv584)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState390) : 'freshtv586)
    | MenhirState94 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv593 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState391
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState391
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState391
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState391 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv591 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, _startpos__2_), _, (_3 : 'tv_list_bind)), _endpos__4_), _endpos__6_, _, (_6 : 'tv_expr), _startpos__6_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__6_ in
            let _v : 'tv_list_binding = 
# 352 "lang/parser.mly"
                                      ( _3,_6 )
# 12978 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv589) = _menhir_stack in
            let (_endpos : Lexing.position) = _endpos in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : 'tv_list_binding) = _v in
            let (_startpos : Lexing.position) = _startpos in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
            (((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv587 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) = Obj.magic _menhir_stack in
            assert (not _menhir_env._menhir_error);
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | SEQ ->
                _menhir_run234 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233
            | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
                _menhir_reduce187 _menhir_env (Obj.magic _menhir_stack) MenhirState233
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState233) : 'freshtv588)) : 'freshtv590) : 'freshtv592)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState391) : 'freshtv594)
    | MenhirState401 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv597 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState402
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState402
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState402
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv595 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_replaces)), _, (_3 : 'tv_subfield)), _endpos__5_, _, (_5 : 'tv_expr), _startpos__5_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v : 'tv_binding = 
# 334 "lang/parser.mly"
                                    ( (Doc.none (),[],[]),_2,PVar _3,_5 )
# 13041 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv596)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState402) : 'freshtv598)
    | MenhirState404 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv601 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState405
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState405
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState405
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | CATCH | DEF _ | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SEQ | SEQSEQ | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv599 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((((_menhir_stack, _menhir_s, _startpos__1_), _, (_2 : 'tv_replaces)), _, (_3 : 'tv_pattern)), _endpos__5_, _, (_5 : 'tv_expr), _startpos__5_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__5_ in
            let _v : 'tv_binding = 
# 333 "lang/parser.mly"
                                   ( (Doc.none (),[],[]),_2,_3,_5 )
# 13085 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv600)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState405) : 'freshtv602)
    | MenhirState418 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv605 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv603 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v : 'tv_inner_list_item = 
# 291 "lang/parser.mly"
                   ( `Ellipsis _2 )
# 13129 "lang/parser.ml"
             in
            (_menhir_goto_inner_list_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv604)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState419) : 'freshtv606)
    | MenhirState82 | MenhirState421 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv609 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState423
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState423
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState423
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState423 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv607 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__1_ in
            let _v : 'tv_inner_list_item = 
# 292 "lang/parser.mly"
                   ( `Expr _1 )
# 13173 "lang/parser.ml"
             in
            (_menhir_goto_inner_list_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv608)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState423) : 'freshtv610)
    | MenhirState81 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv613 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 13185 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState426
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState426
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState426
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv611 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 13217 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 13222 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_record = 
# 458 "lang/parser.mly"
                  ( fun ~pos e -> mk ~pos (Meth (_1, _3, e)) )
# 13227 "lang/parser.ml"
             in
            (_menhir_goto_record _menhir_env _menhir_stack _menhir_s _v : 'freshtv612)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState426) : 'freshtv614)
    | MenhirState433 | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv619 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState432
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState432
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState432
        | SEQ ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv615 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState432 in
            let _menhir_stack = (_menhir_stack, _endpos, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState433 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState433) : 'freshtv616)
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv617 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_) = _menhir_stack in
            let _endpos = _endpos__1_ in
            let _v : 'tv_exprss = 
# 132 "lang/parser.mly"
         ( _1 )
# 13361 "lang/parser.ml"
             in
            (_menhir_goto_exprss _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv618)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState432) : 'freshtv620)
    | MenhirState77 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv627 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState437
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv621 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState437 in
            let _menhir_stack = (_menhir_stack, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | LBRA ->
                _menhir_run165 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState442 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run162 _menhir_env (Obj.magic _menhir_stack) MenhirState442 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run161 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState442 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run129 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState442 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState442) : 'freshtv622)
        | COMMA ->
            _menhir_run439 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState437
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState437
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv625 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState437 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv623 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let (_ : _menhir_state) = _menhir_s in
            let ((_menhir_stack, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v : 'tv_expr = 
# 141 "lang/parser.mly"
                                     ( _2 )
# 13428 "lang/parser.ml"
             in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv624)) : 'freshtv626)
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState437 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState437) : 'freshtv628)
    | MenhirState439 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv631 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState441
        | COMMA ->
            _menhir_run439 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState441
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState441
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState441 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv629 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (((_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_), _endpos__2_, _), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_inner_tuple = 
# 295 "lang/parser.mly"
                    ( [_1;_3] )
# 13478 "lang/parser.ml"
             in
            (_menhir_goto_inner_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv630)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState441) : 'freshtv632)
    | MenhirState70 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv635 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState445
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BIN1 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv633 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let ((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__2_ in
            let _v =
              let _endpos = _endpos__2_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 143 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "not"), ["", _2])) )
# 13515 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv634)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState445) : 'freshtv636)
    | MenhirState54 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv637 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState446
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState446
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState446
        | SEQ ->
            _menhir_run234 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState446 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI | BEGIN | BOOL _ | DEF _ | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | SHINE | SPEEX | STRING _ | THEORA | TIME _ | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
            _menhir_reduce187 _menhir_env (Obj.magic _menhir_stack) MenhirState446
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState446) : 'freshtv638)
    | MenhirState40 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv643 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState460
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState460
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState460
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv641 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState460 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv639 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__4_ : Lexing.position) = _endpos in
            let (_ : _menhir_state) = _menhir_s in
            let (((_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_), _startpos__2_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__4_ in
            let _v =
              let _endpos = _endpos__4_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 140 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "~-"), ["", _3])) )
# 13602 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv640)) : 'freshtv642)
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState460 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState460) : 'freshtv644)
    | MenhirState37 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv649 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13621 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv647 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13647 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState464 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv645 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13656 "lang/parser.ml"
            ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let (_ : _menhir_state) = _menhir_s in
            let ((_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 32 "lang/parser.mly"
       (string)
# 13663 "lang/parser.ml"
            )), _startpos__1_), _endpos__2_, _, (_2 : 'tv_expr), _startpos__2_) = _menhir_stack in
            let _startpos = _startpos__1_ in
            let _endpos = _endpos__3_ in
            let _v =
              let _endpos = _endpos__3_ in
              let _startpos = _startpos__1_ in
              let _loc__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 176 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc (Var "_[_]"), ["", mk ~pos:_loc__1_ (Var _1); "", _2])) )
# 13675 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv646)) : 'freshtv648)
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState464 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState464) : 'freshtv650)
    | MenhirState27 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv653 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        assert (not _menhir_env._menhir_error);
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | BIN1 _v ->
            _menhir_run263 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run261 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run253 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run259 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run257 _menhir_env (Obj.magic _menhir_stack) MenhirState471
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv651 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState471 in
            let _menhir_stack = (_menhir_stack, _menhir_s) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | AVI ->
                _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState472) : 'freshtv652)
        | DOT ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState471
        | MINUS ->
            _menhir_run251 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run249 _menhir_env (Obj.magic _menhir_stack) MenhirState471
        | SET ->
            _menhir_run247 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run238 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState471 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState471) : 'freshtv654)
    | _ ->
        _menhir_fail ()

and _menhir_reduce26 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let (_, _endpos) = Obj.magic _menhir_stack in
    let _v : 'tv_app_opt = 
# 408 "lang/parser.mly"
                 ( [] )
# 13828 "lang/parser.ml"
     in
    _menhir_goto_app_opt _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run29 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | ARGS_OF ->
        _menhir_run265 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        _menhir_reduce17 _menhir_env (Obj.magic _menhir_stack) MenhirState29
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState29

and _menhir_goto_time_predicate : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 105 "lang/parser.mly"
      (Term.t)
# 13928 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    match _menhir_s with
    | MenhirState479 | MenhirState25 | MenhirState472 | MenhirState27 | MenhirState29 | MenhirState36 | MenhirState37 | MenhirState40 | MenhirState457 | MenhirState452 | MenhirState41 | MenhirState447 | MenhirState54 | MenhirState70 | MenhirState439 | MenhirState77 | MenhirState433 | MenhirState79 | MenhirState81 | MenhirState421 | MenhirState82 | MenhirState418 | MenhirState413 | MenhirState411 | MenhirState409 | MenhirState407 | MenhirState85 | MenhirState404 | MenhirState401 | MenhirState94 | MenhirState97 | MenhirState388 | MenhirState102 | MenhirState104 | MenhirState374 | MenhirState107 | MenhirState343 | MenhirState116 | MenhirState122 | MenhirState336 | MenhirState332 | MenhirState328 | MenhirState303 | MenhirState300 | MenhirState297 | MenhirState295 | MenhirState285 | MenhirState281 | MenhirState243 | MenhirState263 | MenhirState261 | MenhirState259 | MenhirState257 | MenhirState255 | MenhirState253 | MenhirState251 | MenhirState249 | MenhirState247 | MenhirState245 | MenhirState240 | MenhirState238 | MenhirState235 | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv489) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : (
# 105 "lang/parser.mly"
      (Term.t)
# 13940 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _startpos in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv487) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let ((_1 : (
# 105 "lang/parser.mly"
      (Term.t)
# 13950 "lang/parser.ml"
        )) : (
# 105 "lang/parser.mly"
      (Term.t)
# 13954 "lang/parser.ml"
        )) = _v in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__1_ in
        let _v : 'tv_expr = 
# 223 "lang/parser.mly"
                                   ( _1 )
# 13962 "lang/parser.ml"
         in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv488)) : 'freshtv490)
    | MenhirState485 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv493) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : (
# 105 "lang/parser.mly"
      (Term.t)
# 13973 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _startpos in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv491) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let ((_1 : (
# 105 "lang/parser.mly"
      (Term.t)
# 13983 "lang/parser.ml"
        )) : (
# 105 "lang/parser.mly"
      (Term.t)
# 13987 "lang/parser.ml"
        )) = _v in
        let (_startpos__1_ : Lexing.position) = _startpos in
        (Obj.magic _1 : 'freshtv492)) : 'freshtv494)
    | _ ->
        _menhir_fail ()

and _menhir_run3 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | COMMA ->
        _menhir_run3 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState3
    | STRING _v ->
        _menhir_run2 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState3 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run1 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState3 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState3

and _menhir_run1 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 14014 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv485) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 30 "lang/parser.mly"
       (string)
# 14025 "lang/parser.ml"
    )) : (
# 30 "lang/parser.mly"
       (string)
# 14029 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_key = 
# 473 "lang/parser.mly"
        ( _1 )
# 14035 "lang/parser.ml"
     in
    (_menhir_goto_annotate_key _menhir_env _menhir_stack _menhir_s _v : 'freshtv486)

and _menhir_run2 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 14042 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv483) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 34 "lang/parser.mly"
       (string)
# 14053 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 14057 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_key = 
# 474 "lang/parser.mly"
           ( _1 )
# 14063 "lang/parser.ml"
     in
    (_menhir_goto_annotate_key _menhir_env _menhir_stack _menhir_s _v : 'freshtv484)

and _menhir_goto_interactive : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 96 "lang/parser.mly"
      (Term.t)
# 14070 "lang/parser.ml"
) -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv481) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : (
# 96 "lang/parser.mly"
      (Term.t)
# 14079 "lang/parser.ml"
    )) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv479) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 96 "lang/parser.mly"
      (Term.t)
# 14087 "lang/parser.ml"
    )) : (
# 96 "lang/parser.mly"
      (Term.t)
# 14091 "lang/parser.ml"
    )) = _v in
    (Obj.magic _1 : 'freshtv480)) : 'freshtv482)

and _menhir_run27 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState27 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState27

and _menhir_run28 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState28 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState28
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState28

and _menhir_run30 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState30
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState30

and _menhir_run32 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState32 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState32
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState32

and _menhir_run34 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState34
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState34

and _menhir_run36 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 14247 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | ARGS_OF ->
        _menhir_run265 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState36 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        _menhir_reduce17 _menhir_env (Obj.magic _menhir_stack) MenhirState36
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState36

and _menhir_run37 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 32 "lang/parser.mly"
       (string)
# 14344 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState37 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState37

and _menhir_run42 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 14437 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | DEF _ | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | LPAR | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce69 _menhir_env (Obj.magic _menhir_stack)
    | GETS ->
        _menhir_reduce57 _menhir_env (Obj.magic _menhir_stack)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv477 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 14455 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv478)

and _menhir_run43 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv475) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v : 'tv_bindvar = 
# 314 "lang/parser.mly"
               ( "_" )
# 14473 "lang/parser.ml"
     in
    (_menhir_goto_bindvar _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv476)

and _menhir_run39 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | FLOAT _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv465 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 36 "lang/parser.mly"
       (float)
# 14490 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv463 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let ((_2 : (
# 36 "lang/parser.mly"
       (float)
# 14500 "lang/parser.ml"
        )) : (
# 36 "lang/parser.mly"
       (float)
# 14504 "lang/parser.ml"
        )) = _v in
        let (_startpos__2_ : Lexing.position) = _startpos in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 138 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Float (-. _2))) )
# 14517 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv464)) : 'freshtv466)
    | INT _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv469 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_v : (
# 35 "lang/parser.mly"
       (int)
# 14528 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv467 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let ((_2 : (
# 35 "lang/parser.mly"
       (int)
# 14538 "lang/parser.ml"
        )) : (
# 35 "lang/parser.mly"
       (int)
# 14542 "lang/parser.ml"
        )) = _v in
        let (_startpos__2_ : Lexing.position) = _startpos in
        let (_menhir_stack, _endpos__1_, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 139 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Int (- _2))) )
# 14555 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv468)) : 'freshtv470)
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv471 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AVI ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState40 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState40) : 'freshtv472)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv473 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv474)

and _menhir_run41 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState41 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState41

and _menhir_run44 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 38 "lang/parser.mly"
       (int option list)
# 14757 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    _menhir_reduce192 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos

and _menhir_run45 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState45 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState45
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState45

and _menhir_run47 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 14781 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv461) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 34 "lang/parser.mly"
       (string)
# 14792 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 14796 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 146 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (String _1)) )
# 14808 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv462)

and _menhir_run48 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState48 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState48
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState48

and _menhir_run50 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState50 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState50
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState50

and _menhir_run52 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState52 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState52
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState52

and _menhir_run54 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState54 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState54

and _menhir_run55 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv457 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | FLAC ->
            _menhir_run57 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState56 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState56) : 'freshtv458)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv459 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv460)

and _menhir_run70 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState70

and _menhir_run71 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState71 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState71
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState71

and _menhir_run73 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState73 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState73
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState73

and _menhir_run75 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState75
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState75

and _menhir_run77 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv455 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState77 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv453 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 168 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple []) )
# 15195 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv454)) : 'freshtv456)
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState77 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState77

and _menhir_run86 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv451 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState86 in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | DOTDOTDOT ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) MenhirState88 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState88 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState88 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState88) : 'freshtv452)
    | REPLACES ->
        _menhir_run87 _menhir_env (Obj.magic _menhir_stack) MenhirState86
    | LPAR | UNDERSCORE | VAR _ ->
        _menhir_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState86
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState86

and _menhir_run79 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RCUR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv445 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState79 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv443 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let (_ : _menhir_state) = _menhir_s in
        let (_menhir_stack, _menhir_s, _startpos__1_) = _menhir_stack in
        let _startpos = _startpos__1_ in
        let _endpos = _endpos__2_ in
        let _v =
          let _endpos = _endpos__2_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 172 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple []) )
# 15343 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv444)) : 'freshtv446)
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv449) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState79 in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 15369 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _v, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | GETS ->
            _menhir_run81 _menhir_env (Obj.magic _menhir_stack)
        | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | COALESCE | DOT | MINUS | QUESTION | RCUR | SEQ | SET | TIMES | TO ->
            _menhir_reduce69 _menhir_env (Obj.magic _menhir_stack)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv447 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 15387 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv448)) : 'freshtv450)
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState79 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState79

and _menhir_run82 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DOTDOTDOT ->
        _menhir_run418 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState82 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RBRA ->
        _menhir_reduce159 _menhir_env (Obj.magic _menhir_stack) MenhirState82
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState82

and _menhir_run83 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 15506 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    _menhir_reduce191 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos

and _menhir_run84 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 35 "lang/parser.mly"
       (int)
# 15515 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv441) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 35 "lang/parser.mly"
       (int)
# 15526 "lang/parser.ml"
    )) : (
# 35 "lang/parser.mly"
       (int)
# 15530 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 142 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Int _1)) )
# 15542 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv442)

and _menhir_run85 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState85 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState85

and _menhir_run95 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState95
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState95

and _menhir_run97 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState97

and _menhir_run98 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv437 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | ARGS_OF ->
            _menhir_run192 _menhir_env (Obj.magic _menhir_stack) MenhirState99 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run126 _menhir_env (Obj.magic _menhir_stack) MenhirState99 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run100 _menhir_env (Obj.magic _menhir_stack) MenhirState99
        | UNDERSCORE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState99 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState99 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce37 _menhir_env (Obj.magic _menhir_stack) MenhirState99
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState99) : 'freshtv438)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv439 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv440)

and _menhir_run105 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState105 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState105 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState105

and _menhir_run108 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 36 "lang/parser.mly"
       (float)
# 15804 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv435) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 36 "lang/parser.mly"
       (float)
# 15815 "lang/parser.ml"
    )) : (
# 36 "lang/parser.mly"
       (float)
# 15819 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 145 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Float  _1)) )
# 15831 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv436)

and _menhir_run109 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState109
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState109

and _menhir_run111 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv429) = Obj.magic _menhir_stack in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        let _menhir_stack = (_menhir_stack, _startpos) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | AUDIO ->
            _menhir_run362 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | AUDIO_COPY ->
            _menhir_run361 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | AUDIO_NONE ->
            _menhir_run360 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | AUDIO_RAW ->
            _menhir_run356 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | STRING _v ->
            _menhir_run342 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState112 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState112 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VIDEO ->
            _menhir_run352 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | VIDEO_COPY ->
            _menhir_run351 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | VIDEO_NONE ->
            _menhir_run350 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | VIDEO_RAW ->
            _menhir_run113 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | RPAR ->
            _menhir_reduce127 _menhir_env (Obj.magic _menhir_stack) MenhirState112
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState112) : 'freshtv430)
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv431) = Obj.magic _menhir_stack in
        let (_, _endpos) = Obj.magic _menhir_stack in
        let _v : 'tv_ffmpeg_opt = 
# 454 "lang/parser.mly"
                 ( [] )
# 15898 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_opt _menhir_env _menhir_stack _endpos _v : 'freshtv432)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv433 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv434)

and _menhir_run117 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState117 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState117
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState117

and _menhir_run119 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState119 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState119
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState119

and _menhir_goto_program : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 93 "lang/parser.mly"
      (Term.t)
# 15942 "lang/parser.ml"
) -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv427) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : (
# 93 "lang/parser.mly"
      (Term.t)
# 15951 "lang/parser.ml"
    )) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv425) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 93 "lang/parser.mly"
      (Term.t)
# 15959 "lang/parser.ml"
    )) : (
# 93 "lang/parser.mly"
      (Term.t)
# 15963 "lang/parser.ml"
    )) = _v in
    (Obj.magic _1 : 'freshtv426)) : 'freshtv428)

and _menhir_run123 : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15970 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _v, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | REC ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv423 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15982 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = MenhirState123 in
        let _menhir_stack = (_menhir_stack, _menhir_s) in
        let _menhir_env = _menhir_discard _menhir_env in
        let _tok = _menhir_env._menhir_token in
        ((match _tok with
        | VARLPAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv419 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15994 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 31 "lang/parser.mly"
       (string)
# 16000 "lang/parser.ml"
            )) = _v in
            let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
            let _menhir_stack = (_menhir_stack, _endpos, _v, _startpos) in
            let _menhir_env = _menhir_discard _menhir_env in
            let _tok = _menhir_env._menhir_token in
            ((match _tok with
            | ARGS_OF ->
                _menhir_run192 _menhir_env (Obj.magic _menhir_stack) MenhirState125 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run126 _menhir_env (Obj.magic _menhir_stack) MenhirState125 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TILD ->
                _menhir_run100 _menhir_env (Obj.magic _menhir_stack) MenhirState125
            | UNDERSCORE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState125 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run89 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState125 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | RPAR ->
                _menhir_reduce37 _menhir_env (Obj.magic _menhir_stack) MenhirState125
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState125) : 'freshtv420)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv421 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16030 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
            let (_menhir_stack, _menhir_s) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv422)) : 'freshtv424)
    | REPLACES ->
        _menhir_run87 _menhir_env (Obj.magic _menhir_stack) MenhirState123
    | LPAR | UNDERSCORE | VAR _ | VARLPAR _ ->
        _menhir_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState123
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState123

and _menhir_run121 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 37 "lang/parser.mly"
       (bool)
# 16046 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    let _menhir_env = _menhir_discard _menhir_env in
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv417) = Obj.magic _menhir_stack in
    let (_endpos__1_ : Lexing.position) = _endpos in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 37 "lang/parser.mly"
       (bool)
# 16057 "lang/parser.ml"
    )) : (
# 37 "lang/parser.mly"
       (bool)
# 16061 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 144 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Bool _1)) )
# 16073 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv418)

and _menhir_run122 : _menhir_env -> 'ttv_tail -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState122

and _menhir_run227 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _startpos ->
    let _menhir_stack = (_menhir_stack, _endpos, _menhir_s, _startpos) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    match _tok with
    | LPAR ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) MenhirState227 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI | BEGIN | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | BOOL _ | CATCH | COALESCE | COLON | COMMA | DEF _ | DO | DOT | ELSE | ELSIF | END | EOF | EXTERNAL | FDKAAC | FFMPEG | FLAC | FLOAT _ | FOR | FUN | GET | GSTREAMER | IF | INT _ | INTERVAL _ | LBRA | LCUR | LET | MINUS | MP3 | MP3_ABR | MP3_VBR | NOT | OGG | OPEN | OPUS | QUESTION | RBRA | RCUR | RPAR | SEQ | SEQSEQ | SET | SHINE | SPEEX | STRING _ | THEN | THEORA | TIME _ | TIMES | TO | TRY | UMINUS | UNDERSCORE | VAR _ | VARLBRA _ | VARLPAR _ | VORBIS | VORBIS_ABR | VORBIS_CBR | WAV | WHILE ->
        _menhir_reduce26 _menhir_env (Obj.magic _menhir_stack) MenhirState227
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState227

and _menhir_errorcase : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    match _menhir_s with
    | MenhirState485 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv23) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv24)
    | MenhirState479 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv29) = Obj.magic _menhir_stack in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv27) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState479 in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv25) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _v =
          let _endpos = _endpos__1_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 110 "lang/parser.mly"
          ( raise (Parse_error (_loc, "Syntax error!")) )
# 16217 "lang/parser.ml"
           : (
# 93 "lang/parser.mly"
      (Term.t)
# 16221 "lang/parser.ml"
          ))
        in
        (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : 'freshtv26)) : 'freshtv28) : 'freshtv30)
    | MenhirState472 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv31 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv32)
    | MenhirState471 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv33 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv34)
    | MenhirState464 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv35 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16240 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv36)
    | MenhirState460 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv37 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv38)
    | MenhirState457 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((((('freshtv39 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv40)
    | MenhirState455 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv41 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv42)
    | MenhirState452 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv43 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv44)
    | MenhirState450 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv45 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv46)
    | MenhirState447 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv47 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv48)
    | MenhirState446 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv49 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv50)
    | MenhirState445 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv51 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv52)
    | MenhirState442 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv53 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv54)
    | MenhirState441 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv55 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv56)
    | MenhirState439 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv57 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv58)
    | MenhirState437 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv59 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv60)
    | MenhirState433 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv61 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv62)
    | MenhirState432 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv63 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv64)
    | MenhirState426 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv65 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16319 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv66)
    | MenhirState423 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv67 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv68)
    | MenhirState421 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv69 * Lexing.position * _menhir_state * 'tv_inner_list_item * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv70)
    | MenhirState419 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv71 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv72)
    | MenhirState418 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv73 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv74)
    | MenhirState413 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv75 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv76)
    | MenhirState412 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv77 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv78)
    | MenhirState411 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv79 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv80)
    | MenhirState409 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv81 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv82)
    | MenhirState408 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv83 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv84)
    | MenhirState407 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv85 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv86)
    | MenhirState405 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv87 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv88)
    | MenhirState404 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv89 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv90)
    | MenhirState402 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv91 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv92)
    | MenhirState401 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv93 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv94)
    | MenhirState399 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv95 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16398 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv96)
    | MenhirState397 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv97 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16407 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv98)
    | MenhirState395 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv99 * _menhir_state * Lexing.position) * _menhir_state * 'tv_replaces) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv100)
    | MenhirState393 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv101 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv102)
    | MenhirState391 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv103 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv104)
    | MenhirState390 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv105 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv106)
    | MenhirState389 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv107 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv108)
    | MenhirState388 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv109 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position)) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv110)
    | MenhirState384 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv111 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16446 "lang/parser.ml"
        ) * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv112)
    | MenhirState382 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv113 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16455 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s), _), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv114)
    | MenhirState377 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv115 * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv116)
    | MenhirState374 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv117 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv118)
    | MenhirState373 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv119 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv120)
    | MenhirState368 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv121 * _menhir_state * 'tv_ffmpeg_list_elem) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv122)
    | MenhirState363 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv123 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv124)
    | MenhirState357 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv125 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv126)
    | MenhirState353 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv127 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv128)
    | MenhirState348 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv129 * _menhir_state * 'tv_ffmpeg_param) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv130)
    | MenhirState344 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv131 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 16504 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv132)
    | MenhirState343 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv133 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 16513 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv134)
    | MenhirState341 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv135 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16522 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv136)
    | MenhirState336 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv137 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16531 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv138)
    | MenhirState335 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv139 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16540 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_pattern) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv140)
    | MenhirState332 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv141 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16549 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv142)
    | MenhirState331 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv143 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16558 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_subfield) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv144)
    | MenhirState328 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv145 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16567 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv146)
    | MenhirState327 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv147 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16576 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) * _menhir_state * 'tv_arglist) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv148)
    | MenhirState325 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv149 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16585 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) * _menhir_state * 'tv_varlpar) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv150)
    | MenhirState321 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv151 * _menhir_state * 'tv_pattern) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv152)
    | MenhirState317 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv153 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv154)
    | MenhirState315 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv155 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16604 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv156)
    | MenhirState313 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv157 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16613 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv158)
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv159 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16622 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_replaces) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv160)
    | MenhirState308 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv161 * _menhir_state * 'tv_arg) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv162)
    | MenhirState303 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv163 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv164)
    | MenhirState302 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv165 * Lexing.position * _menhir_state * 'tv_binding * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv166)
    | MenhirState301 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv167 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv168)
    | MenhirState300 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv169 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv170)
    | MenhirState297 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv171 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv172)
    | MenhirState296 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv173 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16661 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv174)
    | MenhirState295 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv175 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16670 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _menhir_s, _), _), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv176)
    | MenhirState289 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv177 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv178)
    | MenhirState286 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv179 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 16684 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv180)
    | MenhirState285 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv181 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 16693 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv182)
    | MenhirState281 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv183 * _menhir_state * 'tv_app_list_elem) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv184)
    | MenhirState279 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv185 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv186)
    | MenhirState273 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv187 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv188)
    | MenhirState267 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv189 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16717 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv190)
    | MenhirState266 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv191 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv192)
    | MenhirState264 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv193 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 16731 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv194)
    | MenhirState263 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv195 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 16740 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv196)
    | MenhirState262 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv197 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 16749 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv198)
    | MenhirState261 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv199 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 16758 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv200)
    | MenhirState260 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv201 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 16767 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv202)
    | MenhirState259 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv203 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 16776 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv204)
    | MenhirState258 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv205 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv206)
    | MenhirState257 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv207 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv208)
    | MenhirState255 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv209 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv210)
    | MenhirState254 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv211 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 16800 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv212)
    | MenhirState253 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv213 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 16809 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv214)
    | MenhirState252 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv215 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv216)
    | MenhirState251 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv217 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv218)
    | MenhirState250 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv219 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv220)
    | MenhirState249 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv221 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv222)
    | MenhirState248 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv223 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv224)
    | MenhirState247 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv225 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv226)
    | MenhirState246 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv227 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16848 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv228)
    | MenhirState245 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv229 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16857 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv230)
    | MenhirState243 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv231 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16866 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv232)
    | MenhirState241 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv233 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv234)
    | MenhirState240 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv235 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv236)
    | MenhirState239 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv237 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv238)
    | MenhirState238 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv239 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv240)
    | MenhirState237 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv241 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv242)
    | MenhirState235 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv243 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) * Lexing.position * _menhir_state * 'tv_s) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv244)
    | MenhirState233 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv245 * Lexing.position * _menhir_state * 'tv_list_binding * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv246)
    | MenhirState227 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv247 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv248)
    | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv249 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16915 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16919 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) * _menhir_state * 'tv_g) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv250)
    | MenhirState224 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv251 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16928 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16932 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state * 'tv_arglist) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv252)
    | MenhirState221 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv253 * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv254)
    | MenhirState215 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv255 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_subfield_lbra) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv256)
    | MenhirState210 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv257 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16951 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv258)
    | MenhirState207 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv259 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16960 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv260)
    | MenhirState199 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv261 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16969 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _, _menhir_s, _), _, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv262)
    | MenhirState196 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv263 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16978 "lang/parser.ml"
        ) * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv264)
    | MenhirState194 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv265 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16987 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv266)
    | MenhirState193 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv267 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv268)
    | MenhirState190 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv269 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) * _menhir_state * 'tv_ty) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv270)
    | MenhirState187 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv271 * _menhir_state * Lexing.position) * _menhir_state * 'tv_argsty) * Lexing.position)) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv272)
    | MenhirState182 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv273 * _menhir_state * 'tv_argty) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv274)
    | MenhirState178 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv275 * _menhir_state * 'tv_ty) * Lexing.position * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv276)
    | MenhirState173 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv277 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17021 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv278)
    | MenhirState165 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv279 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv280)
    | MenhirState164 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv281 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17035 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv282)
    | MenhirState162 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv283 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv284)
    | MenhirState156 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv285 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17049 "lang/parser.ml"
        ) * Lexing.position)) * 'tv_ty_content) * Lexing.position) = Obj.magic _menhir_stack in
        let (((_menhir_stack, _, _menhir_s, _, _), _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv286)
    | MenhirState151 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv287 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17058 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17062 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 17066 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv288)
    | MenhirState146 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv289 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17074 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 17078 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv290)
    | MenhirState142 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv291 * _menhir_state * 'tv_ty_content_arg) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv292)
    | MenhirState132 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv293 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 17091 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv294)
    | MenhirState129 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv295 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 17099 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv296)
    | MenhirState128 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv297 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv298)
    | MenhirState126 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv299 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv300)
    | MenhirState125 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv301 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 17118 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 17122 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv302)
    | MenhirState123 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv303 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 17131 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv304)
    | MenhirState122 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv305 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv306)
    | MenhirState119 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv307 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv308)
    | MenhirState117 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv309 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv310)
    | MenhirState116 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv311 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17155 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv312)
    | MenhirState114 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv313 * _menhir_state) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv314)
    | MenhirState112 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv315 * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv316)
    | MenhirState109 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv317 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv318)
    | MenhirState107 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv319 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_bindvar * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv320)
    | MenhirState105 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv321 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv322)
    | MenhirState104 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv323 * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv324)
    | MenhirState103 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv325 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17193 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv326)
    | MenhirState102 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv327 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17202 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv328)
    | MenhirState101 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv329 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17211 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s), _, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv330)
    | MenhirState99 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv331 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv332)
    | MenhirState97 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv333 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv334)
    | MenhirState95 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv335 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv336)
    | MenhirState94 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv337 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) * _menhir_state * 'tv_list_bind) * Lexing.position)) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv338)
    | MenhirState88 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv339 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv340)
    | MenhirState86 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv341 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv342)
    | MenhirState85 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv343 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv344)
    | MenhirState82 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv345 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv346)
    | MenhirState81 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv347 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17260 "lang/parser.ml"
        ) * Lexing.position)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv348)
    | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv349 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv350)
    | MenhirState77 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv351 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv352)
    | MenhirState75 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv353 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv354)
    | MenhirState73 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv355 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv356)
    | MenhirState71 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv357 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv358)
    | MenhirState70 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv359 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv360)
    | MenhirState67 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv361 * _menhir_state * Lexing.position) * Lexing.position) * _menhir_state * 'tv_ogg_audio_item) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv362)
    | MenhirState62 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv363 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * 'tv_ogg_video_item * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv364)
    | MenhirState57 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv365 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv366)
    | MenhirState56 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv367 * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv368)
    | MenhirState54 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv369 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv370)
    | MenhirState52 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv371 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv372)
    | MenhirState50 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv373 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv374)
    | MenhirState48 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv375 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv376)
    | MenhirState45 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv377 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv378)
    | MenhirState41 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv379 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv380)
    | MenhirState40 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv381 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv382)
    | MenhirState37 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv383 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 17354 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv384)
    | MenhirState36 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv385 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 17363 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv386)
    | MenhirState34 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv387 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv388)
    | MenhirState32 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv389 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv390)
    | MenhirState30 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv391 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv392)
    | MenhirState29 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv393 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv394)
    | MenhirState28 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv395 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv396)
    | MenhirState27 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv397 * Lexing.position * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv398)
    | MenhirState25 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv403) = Obj.magic _menhir_stack in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv401) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState25 in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv399) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _v =
          let _endpos = _endpos__1_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 114 "lang/parser.mly"
          ( raise (Parse_error (_loc, "Syntax error!")) )
# 17417 "lang/parser.ml"
           : (
# 96 "lang/parser.mly"
      (Term.t)
# 17421 "lang/parser.ml"
          ))
        in
        (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv400)) : 'freshtv402) : 'freshtv404)
    | MenhirState22 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv405 * _menhir_state * 'tv_annotate_key)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv406)
    | MenhirState19 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv407) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv408)
    | MenhirState7 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv409 * _menhir_state * 'tv_annotate_key)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv410)
    | MenhirState4 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv411 * _menhir_state * (
# 102 "lang/parser.mly"
      (string * string)
# 17444 "lang/parser.ml"
        )) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv412)
    | MenhirState3 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv413 * Lexing.position * _menhir_state) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv414)
    | MenhirState0 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv415) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv416)

and _menhir_reduce192 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 38 "lang/parser.mly"
       (int option list)
# 17461 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos__1_ _menhir_s (_1 : (
# 38 "lang/parser.mly"
       (int option list)
# 17466 "lang/parser.ml"
  )) _startpos__1_ ->
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 227 "lang/parser.mly"
             ( mk_time_pred ~pos:_loc (during ~pos:_loc _1) )
# 17477 "lang/parser.ml"
       : (
# 105 "lang/parser.mly"
      (Term.t)
# 17481 "lang/parser.ml"
      ))
    in
    _menhir_goto_time_predicate _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_reduce191 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 17489 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos__1_ _menhir_s (_1 : (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 17494 "lang/parser.ml"
  )) _startpos__1_ ->
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v =
      let _endpos = _endpos__1_ in
      let _startpos = _startpos__1_ in
      let _loc = (_startpos, _endpos) in
      (
# 226 "lang/parser.mly"
             ( mk_time_pred ~pos:_loc (between ~pos:_loc (fst _1) (snd _1)) )
# 17505 "lang/parser.ml"
       : (
# 105 "lang/parser.mly"
      (Term.t)
# 17509 "lang/parser.ml"
      ))
    in
    _menhir_goto_time_predicate _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_discard : _menhir_env -> _menhir_env =
  fun _menhir_env ->
    let lexer = _menhir_env._menhir_lexer in
    let lexbuf = _menhir_env._menhir_lexbuf in
    let _tok = lexer lexbuf in
    {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = _tok;
      _menhir_error = false;
    }

and annotate : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 99 "lang/parser.mly"
      ((string * string) list)
# 17529 "lang/parser.ml"
) =
  fun lexer lexbuf ->
    let _menhir_env = {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = Obj.magic ();
      _menhir_error = false;
    } in
    Obj.magic (let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv21) = ((), _menhir_env._menhir_lexbuf.Lexing.lex_curr_p) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | COMMA ->
        _menhir_run3 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState0
    | STRING _v ->
        _menhir_run2 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState0 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run1 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState0 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState0) : 'freshtv22))

and annotate_metadata_entry : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 102 "lang/parser.mly"
      (string * string)
# 17557 "lang/parser.ml"
) =
  fun lexer lexbuf ->
    let _menhir_env = {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = Obj.magic ();
      _menhir_error = false;
    } in
    Obj.magic (let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv19) = ((), _menhir_env._menhir_lexbuf.Lexing.lex_curr_p) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | STRING _v ->
        _menhir_run2 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState19 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run1 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState19 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState19) : 'freshtv20))

and interactive : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 96 "lang/parser.mly"
      (Term.t)
# 17583 "lang/parser.ml"
) =
  fun lexer lexbuf ->
    let _menhir_env = {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = Obj.magic ();
      _menhir_error = false;
    } in
    Obj.magic (let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv17) = ((), _menhir_env._menhir_lexbuf.Lexing.lex_curr_p) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EOF ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv15) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState25 in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv13) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _v : (
# 96 "lang/parser.mly"
      (Term.t)
# 17619 "lang/parser.ml"
        ) = 
# 116 "lang/parser.mly"
        ( raise End_of_file )
# 17623 "lang/parser.ml"
         in
        (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv14)) : 'freshtv16)
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState25 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState25) : 'freshtv18))

and program : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 93 "lang/parser.mly"
      (Term.t)
# 17712 "lang/parser.ml"
) =
  fun lexer lexbuf ->
    let _menhir_env = {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = Obj.magic ();
      _menhir_error = false;
    } in
    Obj.magic (let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv11) = ((), _menhir_env._menhir_lexbuf.Lexing.lex_curr_p) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | AVI ->
        _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run121 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EOF ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv9) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState479 in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv7) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_startpos__1_ : Lexing.position) = _startpos in
        let _v =
          let _endpos = _endpos__1_ in
          let _startpos = _startpos__1_ in
          let _loc = (_startpos, _endpos) in
          (
# 111 "lang/parser.mly"
        ( mk ~pos:_loc unit )
# 17752 "lang/parser.ml"
           : (
# 93 "lang/parser.mly"
      (Term.t)
# 17756 "lang/parser.ml"
          ))
        in
        (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : 'freshtv8)) : 'freshtv10)
    | EXTERNAL ->
        _menhir_run119 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run117 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run111 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run109 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run105 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run97 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run95 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run85 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run84 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run83 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run86 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run73 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run71 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run55 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run54 _menhir_env (Obj.magic _menhir_stack) MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run52 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run44 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run39 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run42 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run28 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState479 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState479) : 'freshtv12))

and time_predicate : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 105 "lang/parser.mly"
      (Term.t)
# 17846 "lang/parser.ml"
) =
  fun lexer lexbuf ->
    let _menhir_env = {
      _menhir_lexer = lexer;
      _menhir_lexbuf = lexbuf;
      _menhir_token = Obj.magic ();
      _menhir_error = false;
    } in
    Obj.magic (let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv5) = ((), _menhir_env._menhir_lexbuf.Lexing.lex_curr_p) in
    let _menhir_env = _menhir_discard _menhir_env in
    let _tok = _menhir_env._menhir_token in
    ((match _tok with
    | INTERVAL _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState485 in
        let (_v : (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 17868 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (_menhir_reduce191 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos : 'freshtv2)
    | TIME _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv3) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState485 in
        let (_v : (
# 38 "lang/parser.mly"
       (int option list)
# 17880 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (_menhir_reduce192 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos : 'freshtv4)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState485) : 'freshtv6))
