
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 = 
  | MenhirState478
  | MenhirState472
  | MenhirState465
  | MenhirState464
  | MenhirState457
  | MenhirState453
  | MenhirState450
  | MenhirState448
  | MenhirState445
  | MenhirState443
  | MenhirState440
  | MenhirState439
  | MenhirState438
  | MenhirState435
  | MenhirState434
  | MenhirState432
  | MenhirState430
  | MenhirState426
  | MenhirState425
  | MenhirState419
  | MenhirState416
  | MenhirState414
  | MenhirState412
  | MenhirState411
  | MenhirState406
  | MenhirState405
  | MenhirState404
  | MenhirState402
  | MenhirState401
  | MenhirState400
  | MenhirState398
  | MenhirState397
  | MenhirState395
  | MenhirState394
  | MenhirState392
  | MenhirState390
  | MenhirState388
  | MenhirState386
  | MenhirState384
  | MenhirState383
  | MenhirState382
  | MenhirState381
  | MenhirState377
  | MenhirState375
  | MenhirState370
  | MenhirState367
  | MenhirState366
  | MenhirState361
  | MenhirState356
  | MenhirState350
  | MenhirState346
  | MenhirState341
  | MenhirState337
  | MenhirState336
  | MenhirState334
  | MenhirState329
  | MenhirState328
  | MenhirState325
  | MenhirState324
  | MenhirState321
  | MenhirState320
  | MenhirState318
  | MenhirState314
  | MenhirState310
  | MenhirState308
  | MenhirState306
  | MenhirState303
  | MenhirState301
  | MenhirState296
  | MenhirState295
  | MenhirState294
  | MenhirState293
  | MenhirState290
  | MenhirState289
  | MenhirState288
  | MenhirState282
  | MenhirState279
  | MenhirState278
  | MenhirState274
  | MenhirState272
  | MenhirState266
  | MenhirState260
  | MenhirState259
  | MenhirState257
  | MenhirState256
  | MenhirState255
  | MenhirState254
  | MenhirState253
  | MenhirState252
  | MenhirState251
  | MenhirState250
  | MenhirState248
  | MenhirState247
  | MenhirState246
  | MenhirState245
  | MenhirState244
  | MenhirState243
  | MenhirState242
  | MenhirState241
  | MenhirState240
  | MenhirState239
  | MenhirState238
  | MenhirState236
  | MenhirState234
  | MenhirState233
  | MenhirState232
  | MenhirState231
  | MenhirState230
  | MenhirState228
  | MenhirState226
  | MenhirState220
  | MenhirState219
  | MenhirState217
  | MenhirState214
  | MenhirState208
  | MenhirState203
  | MenhirState200
  | MenhirState192
  | MenhirState189
  | MenhirState187
  | MenhirState186
  | MenhirState183
  | MenhirState180
  | MenhirState175
  | MenhirState171
  | MenhirState166
  | MenhirState158
  | MenhirState157
  | MenhirState155
  | MenhirState149
  | MenhirState144
  | MenhirState139
  | MenhirState135
  | MenhirState125
  | MenhirState122
  | MenhirState121
  | MenhirState119
  | MenhirState118
  | MenhirState116
  | MenhirState115
  | MenhirState112
  | MenhirState110
  | MenhirState109
  | MenhirState107
  | MenhirState105
  | MenhirState102
  | MenhirState100
  | MenhirState98
  | MenhirState97
  | MenhirState96
  | MenhirState95
  | MenhirState94
  | MenhirState92
  | MenhirState90
  | MenhirState88
  | MenhirState87
  | MenhirState81
  | MenhirState79
  | MenhirState78
  | MenhirState75
  | MenhirState74
  | MenhirState72
  | MenhirState70
  | MenhirState68
  | MenhirState66
  | MenhirState64
  | MenhirState63
  | MenhirState60
  | MenhirState55
  | MenhirState50
  | MenhirState49
  | MenhirState47
  | MenhirState45
  | MenhirState43
  | MenhirState41
  | MenhirState38
  | MenhirState34
  | MenhirState33
  | MenhirState30
  | MenhirState29
  | MenhirState27
  | MenhirState25
  | MenhirState23
  | MenhirState22
  | MenhirState21
  | MenhirState20
  | MenhirState18
  | MenhirState13
  | MenhirState3
  | MenhirState0

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

# 403 "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
    | MenhirState392 | MenhirState308 | MenhirState203 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1785 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 415 "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 : ('freshtv1783 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 423 "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)
# 430 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_in_subfield = 
# 322 "lang/parser.mly"
                        ( _1::_3 )
# 435 "lang/parser.ml"
         in
        (_menhir_goto_in_subfield _menhir_env _menhir_stack _menhir_s _v : 'freshtv1784)) : 'freshtv1786)
    | MenhirState390 | MenhirState306 | MenhirState200 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1815 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 443 "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 : ('freshtv1813 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 451 "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)
# 458 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_subfield = 
# 318 "lang/parser.mly"
                        ( _1::_3 )
# 463 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1811) = _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
        | MenhirState186 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1793 * _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 : (('freshtv1789 * _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 : (('freshtv1787 * _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
                  (
# 376 "lang/parser.mly"
                          ( args_of ~only:[] ~except:[] ~pos:_loc (String.concat "." _3) )
# 493 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1788)) : 'freshtv1790)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1791 * _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 : 'freshtv1792)) : 'freshtv1794)
        | MenhirState259 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1801 * _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 : (('freshtv1797 * _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 : (('freshtv1795 * _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
                  (
# 300 "lang/parser.mly"
                                 ( app_of ~only:[] ~except:[] ~pos:_loc (String.concat "." _3) )
# 526 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1796)) : 'freshtv1798)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1799 * _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 : 'freshtv1800)) : 'freshtv1802)
        | MenhirState303 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1803 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 542 "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_run218 _menhir_env (Obj.magic _menhir_stack) MenhirState324
            | 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_reduce146 _menhir_env (Obj.magic _menhir_stack) MenhirState324
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState324) : 'freshtv1804)
        | MenhirState388 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1809 * _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 : (('freshtv1805 * _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState394 _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) MenhirState394) : '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) * _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 : 'freshtv1808)) : 'freshtv1810)
        | _ ->
            _menhir_fail ()) : 'freshtv1812) : 'freshtv1814)) : 'freshtv1816)
    | _ ->
        _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
    | MenhirState125 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1761 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 670 "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 : ('freshtv1757 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 680 "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 : ('freshtv1755 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 688 "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)
# 694 "lang/parser.ml"
            )), _startpos__1_), _, (_2 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 246 "lang/parser.mly"
                                  ( _1, _2 )
# 699 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _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 * (
# 31 "lang/parser.mly"
       (string)
# 709 "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 : 'freshtv1760)) : 'freshtv1762)
    | MenhirState135 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1765 * _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 : (('freshtv1763 * _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 = 
# 256 "lang/parser.mly"
                                         ( _1::_3 )
# 722 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_args _menhir_env _menhir_stack _menhir_s _v : 'freshtv1764)) : 'freshtv1766)
    | MenhirState139 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1773 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 730 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 734 "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 : ((('freshtv1769 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 744 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 748 "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 : ((('freshtv1767 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 756 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 760 "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)
# 766 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, (_3 : (
# 31 "lang/parser.mly"
       (string)
# 770 "lang/parser.ml"
            )), _startpos__3_), _, (_4 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 248 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3, _4 )
# 775 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1768)) : 'freshtv1770)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1771 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 785 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 789 "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 : 'freshtv1772)) : 'freshtv1774)
    | MenhirState144 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1781 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 798 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 802 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 806 "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 : ((((('freshtv1777 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 816 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 820 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 824 "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 : ((((('freshtv1775 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 832 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 836 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 840 "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)
# 846 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 850 "lang/parser.ml"
            )), _startpos__3_), _endpos__5_, (_5 : (
# 31 "lang/parser.mly"
       (string)
# 854 "lang/parser.ml"
            )), _startpos__5_), _, (_6 : 'tv_ty_content_args)) = _menhir_stack in
            let _v : 'tv_ty_content = 
# 250 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3 ^ "." ^ _5, _6 )
# 859 "lang/parser.ml"
             in
            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1776)) : 'freshtv1778)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1779 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 869 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 873 "lang/parser.ml"
            ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 877 "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 : 'freshtv1780)) : 'freshtv1782)
    | _ ->
        _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 : 'freshtv1753 * _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 : 'freshtv1747 * _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_run131 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState135 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run126 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState135 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce213 _menhir_env (Obj.magic _menhir_stack) MenhirState135
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState135) : 'freshtv1748)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1749 * _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 = 
# 255 "lang/parser.mly"
                                         ( [_1] )
# 917 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_args _menhir_env _menhir_stack _menhir_s _v : 'freshtv1750)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1751 * _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 : 'freshtv1752)) : 'freshtv1754)

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
    | MenhirState149 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1737 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 937 "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 : (((('freshtv1735 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 943 "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)
# 948 "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 = 
# 240 "lang/parser.mly"
                                               ( (_1,_3)::_5 )
# 953 "lang/parser.ml"
         in
        (_menhir_goto_ty_source_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1736)) : 'freshtv1738)
    | MenhirState122 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1745 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 961 "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 : ('freshtv1741 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 971 "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 : ('freshtv1739 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 979 "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)
# 985 "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
              (
# 236 "lang/parser.mly"
                                  ( mk_source_ty ~pos:_loc _1 _2 )
# 994 "lang/parser.ml"
               : 'tv_ty_source)
            in
            (_menhir_goto_ty_source _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 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 1005 "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 : 'freshtv1744)) : 'freshtv1746)
    | _ ->
        _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
    | MenhirState155 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1729 * _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 : ('freshtv1725 * _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 : ('freshtv1723 * _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 = 
# 230 "lang/parser.mly"
                               ( Type.make (Type.Tuple _2) )
# 1034 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1724)) : 'freshtv1726)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1727 * _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 : 'freshtv1728)) : 'freshtv1730)
    | MenhirState171 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1733 * _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 : (('freshtv1731 * _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 = 
# 267 "lang/parser.mly"
                      ( _1::_3 )
# 1053 "lang/parser.ml"
         in
        (_menhir_goto_ty_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1732)) : 'freshtv1734)
    | _ ->
        _menhir_fail ()

and _menhir_reduce45 : _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 = 
# 270 "lang/parser.mly"
                          ( false,"",_1 )
# 1065 "lang/parser.ml"
     in
    _menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v

and _menhir_run171 : _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState171 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState171 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState171 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState171 _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) MenhirState171

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 : 'freshtv1721 * _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 : 'freshtv1715 * _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState175 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState175 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run164 _menhir_env (Obj.magic _menhir_stack) MenhirState175
        | VAR _v ->
            _menhir_run156 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState175 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState175 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce42 _menhir_env (Obj.magic _menhir_stack) MenhirState175
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState175) : 'freshtv1716)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1717 * _menhir_state * 'tv_argty) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_argty)) = _menhir_stack in
        let _v : 'tv_argsty = 
# 276 "lang/parser.mly"
                       ( [_1] )
# 1127 "lang/parser.ml"
         in
        (_menhir_goto_argsty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1718)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1719 * _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 : 'freshtv1720)) : 'freshtv1722)

and _menhir_run162 : _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 : 'freshtv1713 * _menhir_state * 'tv_ty) = Obj.magic _menhir_stack in
    let (_menhir_stack, _menhir_s, (_1 : 'tv_ty)) = _menhir_stack in
    let _v : 'tv_ty = 
# 228 "lang/parser.mly"
                               ( Type.make (Type.Nullable _1) )
# 1147 "lang/parser.ml"
     in
    (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1714)

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
    | MenhirState405 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1703 * 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 : (((('freshtv1701 * 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
          (
# 395 "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]))) )
# 1174 "lang/parser.ml"
           : 'tv_if_elsif)
        in
        (_menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1702)) : 'freshtv1704)
    | MenhirState401 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1711 * 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 : (((('freshtv1707 * 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 : (((('freshtv1705 * 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
              (
# 201 "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])) )
# 1207 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1706)) : 'freshtv1708)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1709 * 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 : 'freshtv1710)) : 'freshtv1712)
    | _ ->
        _menhir_fail ()

and _menhir_reduce150 : _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
      (
# 401 "lang/parser.mly"
                                    ( mk_fun ~pos:_loc [] (mk ~pos:_loc unit) )
# 1232 "lang/parser.ml"
       : 'tv_if_elsif)
    in
    _menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run402 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState402 _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) MenhirState402

and _menhir_run406 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState406 _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) MenhirState406

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
    | MenhirState306 | MenhirState308 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1697 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1440 "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 : (('freshtv1695 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1446 "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)
# 1451 "lang/parser.ml"
        )), _startpos__1_), _, (_3 : 'tv_varlpar)) = _menhir_stack in
        let _v : 'tv_varlpar = 
# 362 "lang/parser.mly"
                    ( _1::_3 )
# 1456 "lang/parser.ml"
         in
        (_menhir_goto_varlpar _menhir_env _menhir_stack _menhir_s _v : 'freshtv1696)) : 'freshtv1698)
    | MenhirState303 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1699 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1464 "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_run185 _menhir_env (Obj.magic _menhir_stack) MenhirState318 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) MenhirState318 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run93 _menhir_env (Obj.magic _menhir_stack) MenhirState318
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState318 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState318 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce35 _menhir_env (Obj.magic _menhir_stack) MenhirState318
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState318) : 'freshtv1700)
    | _ ->
        _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
    | MenhirState217 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1687 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1497 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 1501 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState219 _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) MenhirState219) : 'freshtv1688)
    | MenhirState320 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1689 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1601 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _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
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _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_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState321 _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) : 'freshtv1690)
    | MenhirState324 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1691 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1701 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _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
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _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_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState325 _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) MenhirState325) : 'freshtv1692)
    | MenhirState328 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1693 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 1801 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState329 _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) MenhirState329) : 'freshtv1694)
    | _ ->
        _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
    | MenhirState203 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1675 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1907 "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 : ('freshtv1673 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1915 "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)
# 1922 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_in_subfield_lbra = 
# 392 "lang/parser.mly"
                             ( _1::_3 )
# 1927 "lang/parser.ml"
         in
        (_menhir_goto_in_subfield_lbra _menhir_env _menhir_stack _menhir_s _v : 'freshtv1674)) : 'freshtv1676)
    | MenhirState200 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1685 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1935 "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 : ('freshtv1683 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1943 "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)
# 1950 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_subfield_lbra = 
# 389 "lang/parser.mly"
                             ( _1::_3 )
# 1955 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1681) = _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
        | MenhirState186 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1677 * _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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState208 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run188 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState208 _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) MenhirState208) : 'freshtv1678)
        | MenhirState259 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1679 * _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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState266 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run188 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState266 _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) MenhirState266) : 'freshtv1680)
        | _ ->
            _menhir_fail ()) : 'freshtv1682) : 'freshtv1684)) : 'freshtv1686)
    | _ ->
        _menhir_fail ()

and _menhir_reduce151 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 1999 "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)
# 2005 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _v : 'tv_in_subfield = 
# 321 "lang/parser.mly"
        ( [_1] )
# 2010 "lang/parser.ml"
     in
    _menhir_goto_in_subfield _menhir_env _menhir_stack _menhir_s _v

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

and _menhir_run126 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 2026 "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 : 'freshtv1667 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2038 "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 : ('freshtv1655 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2048 "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)
# 2054 "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 : ('freshtv1653 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2062 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 35 "lang/parser.mly"
       (int)
# 2068 "lang/parser.ml"
            )) : (
# 35 "lang/parser.mly"
       (int)
# 2072 "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)
# 2078 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 263 "lang/parser.mly"
                         ( _1,string_of_int _3)
# 2083 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1654)) : 'freshtv1656)
        | STRING _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1659 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2091 "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)
# 2097 "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 : ('freshtv1657 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2105 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 34 "lang/parser.mly"
       (string)
# 2111 "lang/parser.ml"
            )) : (
# 34 "lang/parser.mly"
       (string)
# 2115 "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)
# 2121 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 262 "lang/parser.mly"
                         ( _1,_3)
# 2126 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1658)) : 'freshtv1660)
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1663 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2134 "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)
# 2140 "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 : ('freshtv1661 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2148 "lang/parser.ml"
            ) * Lexing.position)) = Obj.magic _menhir_stack in
            let (_endpos__3_ : Lexing.position) = _endpos in
            let ((_3 : (
# 30 "lang/parser.mly"
       (string)
# 2154 "lang/parser.ml"
            )) : (
# 30 "lang/parser.mly"
       (string)
# 2158 "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)
# 2164 "lang/parser.ml"
            )), _startpos__1_) = _menhir_stack in
            let _v : 'tv_ty_content_arg = 
# 261 "lang/parser.mly"
                         ( _1,_3 )
# 2169 "lang/parser.ml"
             in
            (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1662)) : 'freshtv1664)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1665 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2179 "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 : 'freshtv1666)) : 'freshtv1668)
    | COMMA | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1669 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2188 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 2193 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_ty_content_arg = 
# 259 "lang/parser.mly"
                         ( "",_1 )
# 2198 "lang/parser.ml"
         in
        (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1670)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1671 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2208 "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 : 'freshtv1672)

and _menhir_run131 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 2216 "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 : 'freshtv1651) = 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)
# 2227 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 2231 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_ty_content_arg = 
# 260 "lang/parser.mly"
                         ( "",_1 )
# 2237 "lang/parser.ml"
     in
    (_menhir_goto_ty_content_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1652)

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 : (('freshtv1649 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2248 "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 : (('freshtv1643 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2258 "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_run123 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState149 _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) MenhirState149) : 'freshtv1644)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1645 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2276 "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)
# 2281 "lang/parser.ml"
        )), _startpos__1_), (_3 : 'tv_ty_content)) = _menhir_stack in
        let _v : 'tv_ty_source_params = 
# 239 "lang/parser.mly"
                        ( [_1,_3] )
# 2286 "lang/parser.ml"
         in
        (_menhir_goto_ty_source_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1646)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1647 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2296 "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 : 'freshtv1648)) : 'freshtv1650)

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
    | MenhirState158 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1589 * 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_run162 _menhir_env (Obj.magic _menhir_stack)
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1585 * 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 : ('freshtv1583 * 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 = 
# 229 "lang/parser.mly"
                               ( Type.make (Type.List _2) )
# 2325 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1584)) : 'freshtv1586)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1587 * 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 : 'freshtv1588)) : 'freshtv1590)
    | MenhirState157 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1595 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2340 "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_run162 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1591 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2352 "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)
# 2357 "lang/parser.ml"
            )), _startpos__1_), _, (_3 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_argty = 
# 271 "lang/parser.mly"
                          ( false,_1,_3 )
# 2362 "lang/parser.ml"
             in
            (_menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1592)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1593 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 2372 "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 : 'freshtv1594)) : 'freshtv1596)
    | MenhirState166 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1601 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2381 "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_run162 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1597 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2393 "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)
# 2398 "lang/parser.ml"
            )), _startpos__2_), _, (_4 : 'tv_ty)) = _menhir_stack in
            let _v : 'tv_argty = 
# 272 "lang/parser.mly"
                          ( true,_2,_4 )
# 2403 "lang/parser.ml"
             in
            (_menhir_goto_argty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1598)
        | _ ->
            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) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2413 "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 : 'freshtv1600)) : 'freshtv1602)
    | MenhirState155 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1605 * _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_run162 _menhir_env (Obj.magic _menhir_stack)
        | TIMES ->
            _menhir_run171 _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_reduce45 _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 : 'freshtv1603 * _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 : 'freshtv1604)) : 'freshtv1606)
    | MenhirState171 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1611 * _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_run162 _menhir_env (Obj.magic _menhir_stack)
        | TIMES ->
            _menhir_run171 _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 : (('freshtv1607 * _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 = 
# 266 "lang/parser.mly"
                ( [_1; _3] )
# 2453 "lang/parser.ml"
             in
            (_menhir_goto_ty_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1608)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1609 * _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 : 'freshtv1610)) : 'freshtv1612)
    | MenhirState175 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1615 * _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_run162 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RPAR ->
            _menhir_reduce45 _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 : 'freshtv1613 * _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 : 'freshtv1614)) : 'freshtv1616)
    | MenhirState180 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1621 * _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_run162 _menhir_env (Obj.magic _menhir_stack)
        | COMMA | RBRA | RPAR | TIMES ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1617 * _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 = 
# 231 "lang/parser.mly"
                               ( Type.make (Type.Arrow (_2,_5)) )
# 2495 "lang/parser.ml"
             in
            (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1618)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1619 * _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 : 'freshtv1620)) : 'freshtv1622)
    | MenhirState121 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1627 * _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_run162 _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_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_run97 _menhir_env (Obj.magic _menhir_stack) MenhirState183
            | COMMA | RPAR ->
                _menhir_reduce173 _menhir_env (Obj.magic _menhir_stack) MenhirState183
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState183) : '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_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 : 'freshtv1626)) : 'freshtv1628)
    | MenhirState375 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1633 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2541 "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_run162 _menhir_env (Obj.magic _menhir_stack)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1629 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2553 "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_run97 _menhir_env (Obj.magic _menhir_stack) MenhirState377
            | COMMA | RPAR ->
                _menhir_reduce173 _menhir_env (Obj.magic _menhir_stack) MenhirState377
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState377) : 'freshtv1630)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1631 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 2575 "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 : 'freshtv1632)) : 'freshtv1634)
    | MenhirState435 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1641 * _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_run162 _menhir_env (Obj.magic _menhir_stack)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1637 * _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 : ((('freshtv1635 * _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
              (
# 134 "lang/parser.mly"
                                     ( mk ~pos:_loc (Cast (_2, _4)) )
# 2605 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1636)) : 'freshtv1638)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1639 * _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 : 'freshtv1640)) : 'freshtv1642)
    | _ ->
        _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
    | MenhirState175 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1571 * _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 : (('freshtv1569 * _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 = 
# 277 "lang/parser.mly"
                       ( _1::_3 )
# 2632 "lang/parser.ml"
         in
        (_menhir_goto_argsty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1570)) : 'freshtv1572)
    | MenhirState155 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1581 * _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 : ('freshtv1577 * _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 : (('freshtv1573 * _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState180 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState180 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState180 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState180 _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) MenhirState180) : 'freshtv1574)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv1575 * _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 : 'freshtv1576)) : 'freshtv1578)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1579 * _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 : 'freshtv1580)) : 'freshtv1582)
    | _ ->
        _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
    | MenhirState228 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1441 * 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 : (('freshtv1439 * 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
          (
# 125 "lang/parser.mly"
                             ( mk_list_let ~pos:_loc _1 _3 )
# 2703 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1440)) : 'freshtv1442)
    | MenhirState290 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1445 * 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 : (('freshtv1443 * 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
          (
# 121 "lang/parser.mly"
                             ( mk ~pos:_loc (Seq (_1,_3)) )
# 2722 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1444)) : 'freshtv1446)
    | MenhirState296 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1449 * 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 : (('freshtv1447 * 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
          (
# 123 "lang/parser.mly"
                             ( mk_let ~pos:_loc__1_ _1 _3 )
# 2739 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1448)) : 'freshtv1450)
    | MenhirState219 ->
        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)
# 2748 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2752 "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 : (((((('freshtv1453 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2762 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2766 "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 : (((((('freshtv1451 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2774 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2778 "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)
# 2784 "lang/parser.ml"
            )), _startpos__1_), _), _endpos__3_, (_3 : (
# 31 "lang/parser.mly"
       (string)
# 2788 "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
              (
# 340 "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
    )
# 2805 "lang/parser.ml"
               : 'tv_binding)
            in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1452)) : 'freshtv1454)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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)
# 2816 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 2820 "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 : 'freshtv1456)) : 'freshtv1458)
    | MenhirState321 ->
        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)
# 2829 "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 : (((((('freshtv1461 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2839 "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 : (((((('freshtv1459 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2847 "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)
# 2853 "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
              (
# 334 "lang/parser.mly"
                                                  (
      let arglist = _4 in
      let body = mk_fun ~pos:_loc arglist _7 in
      _1,_2,PVar _3,body
        )
# 2868 "lang/parser.ml"
               : 'tv_binding)
            in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1460)) : 'freshtv1462)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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)
# 2879 "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 : 'freshtv1464)) : 'freshtv1466)
    | MenhirState325 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1473 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2888 "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 : (((('freshtv1469 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2898 "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 : (((('freshtv1467 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2906 "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)
# 2912 "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 = 
# 333 "lang/parser.mly"
                                      ( _1,_2,PVar _3,_5 )
# 2919 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1468)) : 'freshtv1470)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1471 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2929 "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 : 'freshtv1472)) : 'freshtv1474)
    | MenhirState329 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1481 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2938 "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 : (((('freshtv1477 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2948 "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 : (((('freshtv1475 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2956 "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)
# 2962 "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 = 
# 332 "lang/parser.mly"
                                     ( _1,_2,_3,_5 )
# 2969 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1476)) : 'freshtv1478)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1479 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 2979 "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 : 'freshtv1480)) : 'freshtv1482)
    | MenhirState115 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1489 * _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 : ('freshtv1485 * _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 : ('freshtv1483 * _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 = 
# 175 "lang/parser.mly"
                                     ( _2 )
# 3003 "lang/parser.ml"
             in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1484)) : 'freshtv1486)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1487 * _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)
    | MenhirState367 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1497 * 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 : ((((('freshtv1493 * 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 : ((((('freshtv1491 * 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
              (
# 180 "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])) )
# 3040 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1492)) : '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_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 : 'freshtv1496)) : 'freshtv1498)
    | MenhirState78 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1503 * 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 : ('freshtv1499 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState400 _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) MenhirState400) : 'freshtv1500)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1501 * 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 : 'freshtv1502)) : 'freshtv1504)
    | MenhirState400 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1505 * 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_run406 _menhir_env (Obj.magic _menhir_stack) MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | ELSIF ->
            _menhir_run402 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState401 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | END ->
            _menhir_reduce150 _menhir_env (Obj.magic _menhir_stack) MenhirState401
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState401) : 'freshtv1506)
    | MenhirState402 ->
        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
        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 : ('freshtv1507 * 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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState404 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _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
            | SHINE ->
                _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
            | TRY ->
                _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
            | UMINUS ->
                _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
            | UNDERSCORE ->
                _menhir_run36 _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_run35 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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) : 'freshtv1508)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1510)) : 'freshtv1512)
    | MenhirState404 ->
        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) * 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_run406 _menhir_env (Obj.magic _menhir_stack) MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | ELSIF ->
            _menhir_run402 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState405 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | END ->
            _menhir_reduce150 _menhir_env (Obj.magic _menhir_stack) MenhirState405
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState405) : 'freshtv1514)
    | MenhirState406 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1517 * _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 : ('freshtv1515 * _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 = 
# 400 "lang/parser.mly"
                                    ( mk_fun ~pos:(_startpos__1_,_endpos__2_) [] _2 )
# 3315 "lang/parser.ml"
         in
        (_menhir_goto_if_elsif _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1516)) : 'freshtv1518)
    | MenhirState440 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1521 * _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 : ((('freshtv1519 * _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
          (
# 119 "lang/parser.mly"
                             ( mk ~pos:_loc (Open (_2,_4)) )
# 3333 "lang/parser.ml"
           : 'tv_exprs)
        in
        (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1520)) : 'freshtv1522)
    | MenhirState34 ->
        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) = 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 : ('freshtv1523 * 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_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState443 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState443 _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) MenhirState443) : 'freshtv1524)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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) = Obj.magic _menhir_stack in
            let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1526)) : 'freshtv1528)
    | MenhirState445 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv1535 * 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 : ((((('freshtv1531 * 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 : ((((('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_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
              (
# 194 "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])) )
# 3398 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1530)) : 'freshtv1532)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((('freshtv1533 * 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 : 'freshtv1534)) : 'freshtv1536)
    | MenhirState450 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((((('freshtv1543 * 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 : ((((((('freshtv1539 * 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 : ((((((('freshtv1537 * 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
              (
# 187 "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])) )
# 3443 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1538)) : 'freshtv1540)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((((((('freshtv1541 * 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 : 'freshtv1542)) : 'freshtv1544)
    | MenhirState465 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1551 * 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 : ((('freshtv1547 * 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 : ((('freshtv1545 * 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
              (
# 178 "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])) )
# 3481 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1546)) : 'freshtv1548)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1549 * 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 : 'freshtv1550)) : 'freshtv1552)
    | MenhirState18 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1559 * 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 : 'freshtv1555 * Lexing.position * _menhir_state * 'tv_exprs * Lexing.position) = Obj.magic _menhir_stack in
            ((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
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_exprs), _startpos__1_) = _menhir_stack in
            let _v : (
# 96 "lang/parser.mly"
      (Term.t)
# 3507 "lang/parser.ml"
            ) = 
# 112 "lang/parser.mly"
                 ( _1 )
# 3511 "lang/parser.ml"
             in
            (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv1554)) : 'freshtv1556)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1557 * 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 : 'freshtv1558)) : 'freshtv1560)
    | MenhirState472 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1567 * 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 : 'freshtv1563 * 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 : 'freshtv1561 * 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)
# 3540 "lang/parser.ml"
            ) = 
# 109 "lang/parser.mly"
              ( _1 )
# 3544 "lang/parser.ml"
             in
            (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : '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 * 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 : 'freshtv1566)) : 'freshtv1568)
    | _ ->
        _menhir_fail ()

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
    | MenhirState3 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1419 * 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 : ('freshtv1417 * 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 = 
# 462 "lang/parser.mly"
                            ( _2 )
# 3570 "lang/parser.ml"
         in
        (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1418)) : 'freshtv1420)
    | MenhirState13 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1423 * _menhir_state * 'tv_annotate_key)) * 'tv_annotate_value) * Lexing.position) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1421 * _menhir_state * 'tv_annotate_key)) * 'tv_annotate_value) * Lexing.position) * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
        let ((((_menhir_stack, _menhir_s, (_1 : 'tv_annotate_key)), (_3 : 'tv_annotate_value)), _endpos__4_), _, (_5 : 'tv_annotate_metadata)) = _menhir_stack in
        let _v : 'tv_annotate_metadata = 
# 463 "lang/parser.mly"
                                                             ( (_1,_3)::_5 )
# 3582 "lang/parser.ml"
         in
        (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1422)) : 'freshtv1424)
    | MenhirState0 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1437 * _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 : 'freshtv1433 * _menhir_state * 'tv_annotate_metadata) = Obj.magic _menhir_stack in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1431 * _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)
# 3600 "lang/parser.ml"
            ) = 
# 459 "lang/parser.mly"
                            ( _1 )
# 3604 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1429) = _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 3612 "lang/parser.ml"
            )) = _v in
            (((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1427) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let (_v : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 3620 "lang/parser.ml"
            )) = _v in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1425) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = _menhir_s in
            let ((_1 : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 3628 "lang/parser.ml"
            )) : (
# 99 "lang/parser.mly"
      ((string * string) list)
# 3632 "lang/parser.ml"
            )) = _v in
            (Obj.magic _1 : 'freshtv1426)) : 'freshtv1428)) : 'freshtv1430) : 'freshtv1432)) : 'freshtv1434)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1435 * _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 : 'freshtv1436)) : 'freshtv1438)
    | _ ->
        _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
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1411 * _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 : ('freshtv1407 * _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 : ('freshtv1405 * _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 = 
# 315 "lang/parser.mly"
                           ( PTuple _2 )
# 3667 "lang/parser.ml"
             in
            (_menhir_goto_pattern _menhir_env _menhir_stack _menhir_s _v : 'freshtv1406)) : 'freshtv1408)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1409 * _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 : 'freshtv1410)) : 'freshtv1412)
    | MenhirState314 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1415 * _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 : (('freshtv1413 * _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 = 
# 326 "lang/parser.mly"
                               ( _1::_3 )
# 3686 "lang/parser.ml"
         in
        (_menhir_goto_pattern_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1414)) : 'freshtv1416)
    | _ ->
        _menhir_fail ()

and _menhir_run314 : _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_run310 _menhir_env (Obj.magic _menhir_stack) MenhirState314 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState314 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState314 _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) MenhirState314

and _menhir_run391 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 3712 "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 : 'freshtv1401 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3724 "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_run391 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState392 _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) MenhirState392) : 'freshtv1402)
    | GETS ->
        _menhir_reduce151 _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 : 'freshtv1403 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3744 "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 : 'freshtv1404)

and _menhir_run304 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 3752 "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 : 'freshtv1399) = 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)
# 3763 "lang/parser.ml"
    )) : (
# 31 "lang/parser.mly"
       (string)
# 3767 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_varlpar = 
# 361 "lang/parser.mly"
                    ( [_1] )
# 3773 "lang/parser.ml"
     in
    (_menhir_goto_varlpar _menhir_env _menhir_stack _menhir_s _v : 'freshtv1400)

and _menhir_run307 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 3780 "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)
# 3792 "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_run307 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState308 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run304 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState308 _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) MenhirState308) : 'freshtv1396)
    | 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_reduce151 _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)
# 3814 "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_run310 : _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_run310 _menhir_env (Obj.magic _menhir_stack) MenhirState310 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _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 ->
        _menhir_run82 _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

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

and _menhir_run218 : _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 : 'freshtv1393) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_g = 
# 116 "lang/parser.mly"
               ()
# 3854 "lang/parser.ml"
     in
    (_menhir_goto_g _menhir_env _menhir_stack _menhir_s _v : 'freshtv1394)

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
    | MenhirState192 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1339 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 3867 "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 : ((('freshtv1337 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 3873 "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)
# 3878 "lang/parser.ml"
        )), _startpos__2_), _endpos__3_), _, (_4 : 'tv_args_of_params)) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 387 "lang/parser.mly"
                                 ( (fst _4), _2::(snd _4) )
# 3883 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1338)) : 'freshtv1340)
    | MenhirState189 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1343 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3891 "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 : (('freshtv1341 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 3897 "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)
# 3902 "lang/parser.ml"
        )), _startpos__1_), _endpos__2_), _, (_3 : 'tv_args_of_params)) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 386 "lang/parser.mly"
                                 ( _1::(fst _3), (snd _3) )
# 3907 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1342)) : 'freshtv1344)
    | MenhirState187 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1355 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 3915 "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 : ((('freshtv1351 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 3925 "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 : (((('freshtv1347 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 3937 "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 : (((('freshtv1345 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 3945 "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)
# 3951 "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
                  (
# 377 "lang/parser.mly"
                                                  ( args_of ~pos:_loc ~only:(fst _4) ~except:(snd _4) _3 )
# 3960 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1346)) : 'freshtv1348)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                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)
# 3971 "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 : 'freshtv1350)) : 'freshtv1352)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1353 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 3982 "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 : 'freshtv1354)) : 'freshtv1356)
    | MenhirState208 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1367 * _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 : ((('freshtv1363 * _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 : (((('freshtv1359 * _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 : (((('freshtv1357 * _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
                  (
# 379 "lang/parser.mly"
                          ( args_of ~pos:_loc (String.concat "." _3) ~only:(fst _4) ~except:(snd _4) )
# 4016 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv1358)) : 'freshtv1360)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                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) * 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 : 'freshtv1362)) : 'freshtv1364)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1365 * _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 : 'freshtv1366)) : 'freshtv1368)
    | MenhirState260 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1379 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4039 "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 : ((('freshtv1375 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4049 "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 : (((('freshtv1371 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4061 "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 : (((('freshtv1369 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4069 "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)
# 4075 "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
                  (
# 301 "lang/parser.mly"
                                                  ( app_of ~pos:_loc ~only:(fst _4) ~except:(snd _4) _3 )
# 4084 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1370)) : 'freshtv1372)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                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)
# 4095 "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 : 'freshtv1374)) : 'freshtv1376)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1377 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 4106 "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 : 'freshtv1378)) : 'freshtv1380)
    | MenhirState266 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1391 * _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 : ((('freshtv1387 * _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 : (((('freshtv1383 * _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 : (((('freshtv1381 * _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
                  (
# 303 "lang/parser.mly"
                                 ( app_of ~pos:_loc (String.concat "." _3) ~only:(fst _4) ~except:(snd _4) )
# 4140 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1382)) : 'freshtv1384)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                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) * 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 : 'freshtv1386)) : 'freshtv1388)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1389 * _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 : 'freshtv1390)) : 'freshtv1392)
    | _ ->
        _menhir_fail ()

and _menhir_run201 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 32 "lang/parser.mly"
       (string)
# 4164 "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 : 'freshtv1335) = 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)
# 4175 "lang/parser.ml"
    )) : (
# 32 "lang/parser.mly"
       (string)
# 4179 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_in_subfield_lbra = 
# 391 "lang/parser.mly"
            ( [_1] )
# 4185 "lang/parser.ml"
     in
    (_menhir_goto_in_subfield_lbra _menhir_env _menhir_stack _menhir_s _v : 'freshtv1336)

and _menhir_run202 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4192 "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 : 'freshtv1331 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4204 "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_run202 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState203 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run201 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState203 _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) MenhirState203) : 'freshtv1332)
    | RPAR ->
        _menhir_reduce151 _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 : 'freshtv1333 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4226 "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 : 'freshtv1334)

and _menhir_run123 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4234 "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 : 'freshtv1327 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4246 "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 : 'freshtv1321) = 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)
# 4258 "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 : 'freshtv1315 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4270 "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 : ('freshtv1309 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4280 "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)
# 4286 "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 : (('freshtv1303 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4298 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4302 "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 : ((('freshtv1297 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4312 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4316 "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)
# 4322 "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 : ((('freshtv1295 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4330 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4334 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            let (_endpos__5_ : Lexing.position) = _endpos in
                            let ((_5 : (
# 30 "lang/parser.mly"
       (string)
# 4340 "lang/parser.ml"
                            )) : (
# 30 "lang/parser.mly"
       (string)
# 4344 "lang/parser.ml"
                            )) = _v in
                            let (_startpos__5_ : Lexing.position) = _startpos in
                            let ((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4350 "lang/parser.ml"
                            )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 4354 "lang/parser.ml"
                            )), _startpos__3_) = _menhir_stack in
                            let _v : 'tv_ty_content = 
# 245 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3 ^ "." ^ _5, [] )
# 4359 "lang/parser.ml"
                             in
                            (_menhir_goto_ty_content _menhir_env _menhir_stack _v : 'freshtv1296)) : 'freshtv1298)
                        | VARLPAR _v ->
                            let (_menhir_env : _menhir_env) = _menhir_env in
                            let (_menhir_stack : ((('freshtv1299 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4367 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4371 "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)
# 4377 "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_run131 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState144 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                            | VAR _v ->
                                _menhir_run126 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState144 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                            | RPAR ->
                                _menhir_reduce213 _menhir_env (Obj.magic _menhir_stack) MenhirState144
                            | _ ->
                                assert (not _menhir_env._menhir_error);
                                _menhir_env._menhir_error <- true;
                                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState144) : '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)
# 4401 "lang/parser.ml"
                            ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4405 "lang/parser.ml"
                            ) * Lexing.position)) = Obj.magic _menhir_stack in
                            (raise _eRR : 'freshtv1302)) : 'freshtv1304)
                    | COMMA | RPAR ->
                        let (_menhir_env : _menhir_env) = _menhir_env in
                        let (_menhir_stack : (('freshtv1305 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4413 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4417 "lang/parser.ml"
                        ) * Lexing.position) = Obj.magic _menhir_stack in
                        let ((_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4422 "lang/parser.ml"
                        )), _startpos__1_), _endpos__3_, (_3 : (
# 30 "lang/parser.mly"
       (string)
# 4426 "lang/parser.ml"
                        )), _startpos__3_) = _menhir_stack in
                        let _v : 'tv_ty_content = 
# 244 "lang/parser.mly"
                                  ( _1 ^ "." ^ _3, [] )
# 4431 "lang/parser.ml"
                         in
                        (_menhir_goto_ty_content _menhir_env _menhir_stack _v : '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)
# 4441 "lang/parser.ml"
                        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4445 "lang/parser.ml"
                        ) * Lexing.position) = Obj.magic _menhir_stack in
                        (raise _eRR : 'freshtv1308)) : 'freshtv1310)
                | VARLPAR _v ->
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ('freshtv1311 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4453 "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)
# 4459 "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_run131 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState139 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VAR _v ->
                        _menhir_run126 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState139 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | RPAR ->
                        _menhir_reduce213 _menhir_env (Obj.magic _menhir_stack) MenhirState139
                    | _ ->
                        assert (not _menhir_env._menhir_error);
                        _menhir_env._menhir_error <- true;
                        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState139) : '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)
# 4483 "lang/parser.ml"
                    ) * Lexing.position)) = Obj.magic _menhir_stack in
                    (raise _eRR : 'freshtv1314)) : 'freshtv1316)
            | COMMA | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1317 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4491 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                let (_menhir_stack, _endpos__1_, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 4496 "lang/parser.ml"
                )), _startpos__1_) = _menhir_stack in
                let _v : 'tv_ty_content = 
# 243 "lang/parser.mly"
                                  ( _1, [] )
# 4501 "lang/parser.ml"
                 in
                (_menhir_goto_ty_content _menhir_env _menhir_stack _v : '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 * (
# 30 "lang/parser.mly"
       (string)
# 4511 "lang/parser.ml"
                ) * Lexing.position) = Obj.magic _menhir_stack in
                (raise _eRR : 'freshtv1320)) : 'freshtv1322)
        | VARLPAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1323) = 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)
# 4521 "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_run131 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState125 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run126 _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_reduce213 _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) : 'freshtv1324)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1325 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4545 "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 : 'freshtv1326)) : 'freshtv1328)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1329 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4556 "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 : 'freshtv1330)

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 : 'freshtv1293) = 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 : 'freshtv1291) = 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 = 
# 232 "lang/parser.mly"
                               ( _1 )
# 4574 "lang/parser.ml"
     in
    (_menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v : 'freshtv1292)) : 'freshtv1294)

and _menhir_reduce196 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4581 "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)
# 4587 "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
      (
# 227 "lang/parser.mly"
                               ( mk_ty ~pos:_loc _1 )
# 4596 "lang/parser.ml"
       : 'tv_ty)
    in
    _menhir_goto_ty _menhir_env _menhir_stack _menhir_s _v

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

and _menhir_run156 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 4613 "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 : 'freshtv1287 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4625 "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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState157 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState157 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState157 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState157 _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) MenhirState157) : 'freshtv1288)
    | COMMA | QUESTION | RPAR | TIMES ->
        _menhir_reduce196 _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 : 'freshtv1289 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 4651 "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 : 'freshtv1290)

and _menhir_run164 : _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 : 'freshtv1283 * _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)
# 4669 "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 : ('freshtv1279 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4681 "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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState166 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState166 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState166 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState166 _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) MenhirState166) : 'freshtv1280)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1281 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4705 "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 : 'freshtv1282)) : 'freshtv1284)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1285 * _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 : 'freshtv1286)

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
    | MenhirState107 ->
        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
        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 : (('freshtv1245 * _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 : (('freshtv1243 * _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 = 
# 441 "lang/parser.mly"
                                      ( `Video_raw  _3 )
# 4739 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1244)) : 'freshtv1246)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1247 * _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 : 'freshtv1248)) : 'freshtv1250)
    | MenhirState341 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1253 * _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 : (('freshtv1251 * _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 = 
# 428 "lang/parser.mly"
                                     ( _1::_3 )
# 4758 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1252)) : 'freshtv1254)
    | MenhirState346 ->
        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
        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 : (('freshtv1257 * _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 : (('freshtv1255 * _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 = 
# 442 "lang/parser.mly"
                                      ( `Video  _3 )
# 4779 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1256)) : 'freshtv1258)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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 (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1260)) : 'freshtv1262)
    | MenhirState350 ->
        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
        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 : (('freshtv1265 * _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 : (('freshtv1263 * _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 = 
# 433 "lang/parser.mly"
                                      ( `Audio_raw _3 )
# 4807 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1264)) : 'freshtv1266)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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 (_menhir_stack, _menhir_s, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv1268)) : 'freshtv1270)
    | MenhirState356 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1277 * _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 : (('freshtv1273 * _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 : (('freshtv1271 * _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  _3 )
# 4835 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv1272)) : '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) * _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 : 'freshtv1276)) : 'freshtv1278)
    | _ ->
        _menhir_fail ()

and _menhir_run286 : _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 : ('freshtv1239 * _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)
# 4861 "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 : (('freshtv1235 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4873 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState288 _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) MenhirState288) : 'freshtv1236)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1237 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 4967 "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 : '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 * '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 : 'freshtv1242)

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
    | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1223 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState228 _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 : ('freshtv1221 * 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
              (
# 124 "lang/parser.mly"
                             ( mk_list_let ~pos:_loc _1 (mk ~pos:_loc unit) )
# 5088 "lang/parser.ml"
               : 'tv_exprs)
            in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1222)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState228) : 'freshtv1224)
    | MenhirState230 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1227 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState290 _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 : ('freshtv1225 * 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 = 
# 120 "lang/parser.mly"
                             ( _1 )
# 5197 "lang/parser.ml"
             in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1226)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState290) : 'freshtv1228)
    | MenhirState295 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1231 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState296 _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 : ('freshtv1229 * 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
              (
# 122 "lang/parser.mly"
                             ( mk_let ~pos:_loc__1_ _1 (mk ~pos:_loc unit) )
# 5310 "lang/parser.ml"
               : 'tv_exprs)
            in
            (_menhir_goto_exprs _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1230)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState296) : 'freshtv1232)
    | MenhirState439 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1233 * _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DEF _v ->
            _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LET ->
            _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPEN ->
            _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState440 _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) MenhirState440) : 'freshtv1234)
    | _ ->
        _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
    | MenhirState55 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv1209 * _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 : (((('freshtv1205 * _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 : (((('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
            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
              (
# 160 "lang/parser.mly"
                                                      ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _5; video = Some _3}) )
# 5445 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1204)) : 'freshtv1206)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv1207 * _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 : 'freshtv1208)) : 'freshtv1210)
    | MenhirState49 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1219 * _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 : (('freshtv1211 * _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_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState60 _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) MenhirState60) : 'freshtv1212)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1215 * _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 : (('freshtv1213 * _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
              (
# 161 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _3; video = None}) )
# 5494 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1214)) : 'freshtv1216)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1217 * _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 : 'freshtv1218)) : 'freshtv1220)
    | _ ->
        _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
    | MenhirState55 | MenhirState49 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1197) = 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 : 'freshtv1195) = 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 = 
# 417 "lang/parser.mly"
                             ( _1 )
# 5527 "lang/parser.ml"
         in
        (_menhir_goto_ogg_audio_item _menhir_env _menhir_stack _menhir_s _v : 'freshtv1196)) : 'freshtv1198)
    | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState20 | MenhirState22 | MenhirState29 | MenhirState30 | MenhirState33 | MenhirState450 | MenhirState445 | MenhirState34 | MenhirState440 | MenhirState47 | MenhirState63 | MenhirState432 | MenhirState70 | MenhirState426 | MenhirState72 | MenhirState74 | MenhirState414 | MenhirState75 | MenhirState411 | MenhirState406 | MenhirState404 | MenhirState402 | MenhirState400 | MenhirState78 | MenhirState397 | MenhirState394 | MenhirState87 | MenhirState90 | MenhirState381 | MenhirState95 | MenhirState97 | MenhirState367 | MenhirState100 | MenhirState336 | MenhirState109 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState296 | MenhirState293 | MenhirState290 | MenhirState288 | MenhirState278 | MenhirState274 | MenhirState236 | MenhirState256 | MenhirState254 | MenhirState252 | MenhirState250 | MenhirState248 | MenhirState246 | MenhirState244 | MenhirState242 | MenhirState240 | MenhirState238 | MenhirState233 | MenhirState231 | MenhirState228 | MenhirState219 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1201) = 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 : 'freshtv1199) = 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
          (
# 163 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _1; video = None}) )
# 5552 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1200)) : 'freshtv1202)
    | _ ->
        _menhir_fail ()

and _menhir_goto_annotate_value : _menhir_env -> 'ttv_tail -> 'tv_annotate_value -> '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 : (('freshtv1193 * _menhir_state * 'tv_annotate_key)) * '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 : (('freshtv1187 * _menhir_state * 'tv_annotate_key)) * 'tv_annotate_value) = 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
        | COMMA ->
            _menhir_run3 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState13
        | STRING _v ->
            _menhir_run2 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState13 _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 MenhirState13 _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) MenhirState13) : 'freshtv1188)
    | COLON ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1189 * _menhir_state * 'tv_annotate_key)) * '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 = 
# 464 "lang/parser.mly"
                                     ( [_1, _3] )
# 5592 "lang/parser.ml"
         in
        (_menhir_goto_annotate_metadata _menhir_env _menhir_stack _menhir_s _v : 'freshtv1190)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1191 * _menhir_state * 'tv_annotate_key)) * '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 : 'freshtv1192)) : 'freshtv1194)

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
    | MenhirState274 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1161 * _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 : (('freshtv1159 * _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 = 
# 307 "lang/parser.mly"
                                 ( _1@_3 )
# 5616 "lang/parser.ml"
         in
        (_menhir_goto_app_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1160)) : 'freshtv1162)
    | MenhirState236 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1169 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5624 "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 * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5634 "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 * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5642 "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)
# 5648 "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
              (
# 171 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:(_startpos__1_,_endpos__3_) (Invoke (_1, _3)), _4)) )
# 5659 "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 * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 5670 "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 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5679 "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 : ('freshtv1173 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5689 "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 : ('freshtv1171 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5697 "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)
# 5703 "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
              (
# 172 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var _1), _2)) )
# 5715 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : '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 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 5726 "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 : 'freshtv1176)) : 'freshtv1178)
    | MenhirState22 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1185 * _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 : ('freshtv1181 * _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 : ('freshtv1179 * _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 = 
# 406 "lang/parser.mly"
                       ( _2 )
# 5749 "lang/parser.ml"
             in
            (_menhir_goto_app_opt _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1180)) : 'freshtv1182)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1183 * _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 : 'freshtv1184)) : 'freshtv1186)
    | _ ->
        _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
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1143 * _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_run314 _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 : 'freshtv1141 * _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 : 'freshtv1142)) : 'freshtv1144)
    | MenhirState314 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1149 * _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_run314 _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 : (('freshtv1145 * _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 = 
# 325 "lang/parser.mly"
                          ( [_1;_3] )
# 5796 "lang/parser.ml"
             in
            (_menhir_goto_pattern_list _menhir_env _menhir_stack _menhir_s _v : '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 * '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 : 'freshtv1148)) : 'freshtv1150)
    | MenhirState303 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1151 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 5811 "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_run218 _menhir_env (Obj.magic _menhir_stack) MenhirState328
        | 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_reduce146 _menhir_env (Obj.magic _menhir_stack) MenhirState328
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState328) : 'freshtv1152)
    | MenhirState388 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1157 * _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 : (('freshtv1153 * _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState397 _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) : 'freshtv1154)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1155 * _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 : 'freshtv1156)) : 'freshtv1158)
    | _ ->
        _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
    | MenhirState81 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1135 * _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 : (('freshtv1131 * _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 : ((('freshtv1127 * _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState87 _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) MenhirState87) : 'freshtv1128)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1129 * _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 : 'freshtv1130)) : 'freshtv1132)
        | _ ->
            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 * 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 : 'freshtv1134)) : 'freshtv1136)
    | MenhirState386 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1139 * 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 : (('freshtv1137 * 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 = 
# 352 "lang/parser.mly"
                            ( _1::(fst _3), snd _3 )
# 6057 "lang/parser.ml"
         in
        (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv1138)) : 'freshtv1140)
    | _ ->
        _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
    | MenhirState414 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1105 * 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 : (('freshtv1103 * 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
          (
# 283 "lang/parser.mly"
                          ( append_list ~pos:_loc _1 _3 )
# 6081 "lang/parser.ml"
           : 'tv_inner_list)
        in
        (_menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv1104)) : 'freshtv1106)
    | MenhirState75 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1125 * 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 : ('freshtv1121 * 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 : ('freshtv1119 * 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 = 
# 280 "lang/parser.mly"
                         ( _2 )
# 6105 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1117) = _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
            | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState20 | MenhirState22 | MenhirState29 | MenhirState30 | MenhirState33 | MenhirState450 | MenhirState445 | MenhirState34 | MenhirState440 | MenhirState47 | MenhirState63 | MenhirState432 | MenhirState70 | MenhirState426 | MenhirState72 | MenhirState74 | MenhirState414 | MenhirState75 | MenhirState411 | MenhirState406 | MenhirState404 | MenhirState402 | MenhirState400 | MenhirState78 | MenhirState397 | MenhirState394 | MenhirState87 | MenhirState90 | MenhirState381 | MenhirState95 | MenhirState97 | MenhirState367 | MenhirState100 | MenhirState336 | MenhirState109 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState296 | MenhirState293 | MenhirState290 | MenhirState288 | MenhirState278 | MenhirState274 | MenhirState236 | MenhirState256 | MenhirState254 | MenhirState252 | MenhirState250 | MenhirState248 | MenhirState246 | MenhirState244 | MenhirState242 | MenhirState240 | MenhirState238 | MenhirState233 | MenhirState231 | MenhirState228 | MenhirState219 ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1109 * Lexing.position * _menhir_state * 'tv_varlist * Lexing.position) = Obj.magic _menhir_stack in
                ((let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : 'freshtv1107 * 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
                  (
# 145 "lang/parser.mly"
                                     ( mk_list ~pos:_loc _1 )
# 6130 "lang/parser.ml"
                   : 'tv_expr)
                in
                (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1108)) : 'freshtv1110)
            | MenhirState448 ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((((('freshtv1115 * 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 : ((((('freshtv1111 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | BEGIN ->
                        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | BOOL _v ->
                        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | DEF _v ->
                        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | EXTERNAL ->
                        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FDKAAC ->
                        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FFMPEG ->
                        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FLAC ->
                        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FLOAT _v ->
                        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FOR ->
                        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | FUN ->
                        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | GET ->
                        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | GSTREAMER ->
                        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | IF ->
                        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | INT _v ->
                        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | INTERVAL _v ->
                        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LBRA ->
                        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LCUR ->
                        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LET ->
                        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | LPAR ->
                        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3 ->
                        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3_ABR ->
                        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | MP3_VBR ->
                        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | NOT ->
                        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OGG ->
                        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OPEN ->
                        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | OPUS ->
                        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | SHINE ->
                        _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
                    | SPEEX ->
                        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | STRING _v ->
                        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | THEORA ->
                        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | TIME _v ->
                        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | TRY ->
                        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | UMINUS ->
                        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | UNDERSCORE ->
                        _menhir_run36 _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_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VARLBRA _v ->
                        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VARLPAR _v ->
                        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS ->
                        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS_ABR ->
                        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | VORBIS_CBR ->
                        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | WAV ->
                        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                    | WHILE ->
                        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState450 _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) : 'freshtv1112)
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    let (_menhir_env : _menhir_env) = _menhir_env in
                    let (_menhir_stack : ((((('freshtv1113 * 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 : 'freshtv1114)) : 'freshtv1116)
            | _ ->
                _menhir_fail ()) : 'freshtv1118) : 'freshtv1120)) : 'freshtv1122)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1123 * 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 : 'freshtv1124)) : 'freshtv1126)
    | _ ->
        _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
    | MenhirState361 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1093 * _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 : (('freshtv1091 * _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 = 
# 448 "lang/parser.mly"
                                       ( _1::_3 )
# 6268 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1092)) : 'freshtv1094)
    | MenhirState105 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1101 * 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 : ('freshtv1097 * 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 : ('freshtv1095 * 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 = 
# 452 "lang/parser.mly"
                          ( _2 )
# 6290 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_opt _menhir_env _menhir_stack _endpos _v : 'freshtv1096)) : 'freshtv1098)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1099 * 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 : 'freshtv1100)) : 'freshtv1102)
    | _ ->
        _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 : 'freshtv1089 * _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 : 'freshtv1083 * _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_run355 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | AUDIO_COPY ->
            _menhir_run354 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | AUDIO_NONE ->
            _menhir_run353 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | AUDIO_RAW ->
            _menhir_run349 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | STRING _v ->
            _menhir_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState361 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState361 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VIDEO ->
            _menhir_run345 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | VIDEO_COPY ->
            _menhir_run344 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | VIDEO_NONE ->
            _menhir_run343 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | VIDEO_RAW ->
            _menhir_run106 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | RPAR ->
            _menhir_reduce125 _menhir_env (Obj.magic _menhir_stack) MenhirState361
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState361) : 'freshtv1084)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1085 * _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 = 
# 447 "lang/parser.mly"
                                       ( [_1] )
# 6352 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv1086)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1087 * _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 : 'freshtv1088)) : 'freshtv1090)

and _menhir_reduce143 : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    let _v : 'tv_ffmpeg_params = 
# 426 "lang/parser.mly"
                                     ( [] )
# 6368 "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
    | MenhirState116 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1073 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6381 "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_run310 _menhir_env (Obj.magic _menhir_stack) MenhirState303 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _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 ->
            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) = MenhirState303 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 6398 "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)
# 6410 "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_run307 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState306 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run304 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState306 _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) MenhirState306) : 'freshtv1068)
            | 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_reduce55 _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)
# 6432 "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)
        | VARLPAR _v ->
            _menhir_run304 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState303 _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) MenhirState303) : 'freshtv1074)
    | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1081 * _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_run310 _menhir_env (Obj.magic _menhir_stack) MenhirState388 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _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 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv1079) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState388 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 6460 "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 : 'freshtv1075 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6472 "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_run391 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState390 _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) MenhirState390) : 'freshtv1076)
            | GETS ->
                _menhir_reduce55 _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 : 'freshtv1077 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6492 "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 : 'freshtv1078)) : 'freshtv1080)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState388) : 'freshtv1082)
    | _ ->
        _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
    | MenhirState118 ->
        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)
# 6512 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6516 "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 : ((('freshtv1041 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6526 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6530 "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_run218 _menhir_env (Obj.magic _menhir_stack) MenhirState217
            | 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_reduce146 _menhir_env (Obj.magic _menhir_stack) MenhirState217
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState217) : 'freshtv1042)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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)
# 6552 "lang/parser.ml"
            ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 6556 "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 : 'freshtv1044)) : 'freshtv1046)
    | MenhirState301 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1049 * _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 : (('freshtv1047 * _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 = 
# 367 "lang/parser.mly"
                          ( _1@_3 )
# 6569 "lang/parser.ml"
         in
        (_menhir_goto_arglist _menhir_env _menhir_stack _menhir_s _v : 'freshtv1048)) : 'freshtv1050)
    | MenhirState318 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv1055 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6577 "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 : ((('freshtv1051 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6587 "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_run218 _menhir_env (Obj.magic _menhir_stack) MenhirState320
            | 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_reduce146 _menhir_env (Obj.magic _menhir_stack) MenhirState320
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState320) : 'freshtv1052)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv1053 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 6609 "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 : 'freshtv1054)) : 'freshtv1056)
    | MenhirState92 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1065 * _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 : (('freshtv1061 * _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 : ((('freshtv1057 * _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BEGIN ->
                    _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | BOOL _v ->
                    _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | EXTERNAL ->
                    _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FDKAAC ->
                    _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FFMPEG ->
                    _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLAC ->
                    _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FLOAT _v ->
                    _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FOR ->
                    _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | FUN ->
                    _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GET ->
                    _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | GSTREAMER ->
                    _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | IF ->
                    _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INT _v ->
                    _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | INTERVAL _v ->
                    _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LBRA ->
                    _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LCUR ->
                    _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3 ->
                    _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_ABR ->
                    _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | MP3_VBR ->
                    _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | NOT ->
                    _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OGG ->
                    _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SHINE ->
                    _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | STRING _v ->
                    _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | THEORA ->
                    _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TIME _v ->
                    _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | TRY ->
                    _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | UMINUS ->
                    _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLBRA _v ->
                    _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WAV ->
                    _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | WHILE ->
                    _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState381 _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) MenhirState381) : 'freshtv1058)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : ((('freshtv1059 * _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 : 'freshtv1060)) : 'freshtv1062)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv1063 * _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 : 'freshtv1064)) : 'freshtv1066)
    | _ ->
        _menhir_fail ()

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

and _menhir_run97 : _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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _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_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState97 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | SHINE ->
        _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | VAR _v ->
        _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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_run188 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 6833 "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 : 'freshtv1035 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6845 "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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState189 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run188 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState189 _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) MenhirState189) : 'freshtv1036)
    | RBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1037 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6865 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : (
# 30 "lang/parser.mly"
       (string)
# 6870 "lang/parser.ml"
        )), _startpos__1_) = _menhir_stack in
        let _v : 'tv_args_of_params = 
# 384 "lang/parser.mly"
                                 ( [_1], [] )
# 6875 "lang/parser.ml"
         in
        (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1038)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1039 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 6885 "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 : 'freshtv1040)

and _menhir_run190 : _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 : 'freshtv1031 * 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)
# 6903 "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 : ('freshtv1025 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 6915 "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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState192 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run188 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState192 _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) MenhirState192) : 'freshtv1026)
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1027 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 6935 "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)
# 6940 "lang/parser.ml"
            )), _startpos__2_) = _menhir_stack in
            let _v : 'tv_args_of_params = 
# 385 "lang/parser.mly"
                                 ( [], [_2] )
# 6945 "lang/parser.ml"
             in
            (_menhir_goto_args_of_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv1028)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1029 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 6955 "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 : 'freshtv1030)) : 'freshtv1032)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1033 * 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 : 'freshtv1034)

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 : 'freshtv1023 * _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 : 'freshtv1017 * _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_run185 _menhir_env (Obj.magic _menhir_stack) MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run93 _menhir_env (Obj.magic _menhir_stack) MenhirState301
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState301 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce35 _menhir_env (Obj.magic _menhir_stack) MenhirState301
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState301) : 'freshtv1018)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1019 * _menhir_state * 'tv_arg) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, (_1 : 'tv_arg)) = _menhir_stack in
        let _v : 'tv_arglist = 
# 366 "lang/parser.mly"
                          ( _1 )
# 7006 "lang/parser.ml"
         in
        (_menhir_goto_arglist _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 * _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 : 'freshtv1022)) : 'freshtv1024)

and _menhir_run200 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 7020 "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_run202 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState200 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run201 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState200 _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) MenhirState200

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
    | MenhirState70 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv1011 * _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 : ('freshtv1007 * _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 : ('freshtv1005 * _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
              (
# 166 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple _2) )
# 7063 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv1006)) : 'freshtv1008)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv1009 * _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 : 'freshtv1010)) : 'freshtv1012)
    | MenhirState432 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv1015 * 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 : (('freshtv1013 * 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 = 
# 293 "lang/parser.mly"
                           ( _1::_3 )
# 7083 "lang/parser.ml"
         in
        (_menhir_goto_inner_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv1014)) : 'freshtv1016)
    | _ ->
        _menhir_fail ()

and _menhir_run432 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState432 _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) MenhirState432

and _menhir_run122 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 7181 "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 : 'freshtv1003 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 7193 "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) = MenhirState122 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv1001 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 7202 "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)
# 7209 "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
          (
# 235 "lang/parser.mly"
                                  ( mk_source_ty ~pos:_loc _1 [] )
# 7218 "lang/parser.ml"
           : 'tv_ty_source)
        in
        (_menhir_goto_ty_source _menhir_env _menhir_stack _menhir_s _v : 'freshtv1002)) : 'freshtv1004)
    | VAR _v ->
        _menhir_run123 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState122 _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) MenhirState122

and _menhir_run154 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 7232 "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_reduce196 _menhir_env (Obj.magic _menhir_stack)

and _menhir_run155 : _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState155 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState155 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | QUESTION ->
        _menhir_run164 _menhir_env (Obj.magic _menhir_stack) MenhirState155
    | VAR _v ->
        _menhir_run156 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState155 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState155 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        _menhir_reduce42 _menhir_env (Obj.magic _menhir_stack) MenhirState155
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState155

and _menhir_run158 : _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState158 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState158 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState158 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState158 _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) MenhirState158

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
    | MenhirState72 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv995 * _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 : ('freshtv991 * _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 : ('freshtv989 * _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
              (
# 177 "lang/parser.mly"
                                     ( mk_fun ~pos:_loc [] _2 )
# 7309 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv990)) : 'freshtv992)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv993 * _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 : 'freshtv994)) : 'freshtv996)
    | MenhirState426 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv999 * 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 : (('freshtv997 * 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
          (
# 130 "lang/parser.mly"
                    ( mk ~pos:_loc (Seq (_1,_3)) )
# 7334 "lang/parser.ml"
           : 'tv_exprss)
        in
        (_menhir_goto_exprss _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv998)) : 'freshtv1000)
    | _ ->
        _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 : 'freshtv987 * 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 : 'freshtv981 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOTDOTDOT ->
            _menhir_run411 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState414 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RBRA ->
            _menhir_reduce157 _menhir_env (Obj.magic _menhir_stack) MenhirState414
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState414) : 'freshtv982)
    | RBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv983 * 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
          (
# 284 "lang/parser.mly"
                          ( append_list ~pos:_loc _1 (`List []) )
# 7455 "lang/parser.ml"
           : 'tv_inner_list)
        in
        (_menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv984)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv985 * 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 : 'freshtv986)) : 'freshtv988)

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
    | MenhirState183 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv963 * _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 : (((('freshtv961 * _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 = 
# 373 "lang/parser.mly"
                                   ( ["", _2, _4, _6] )
# 7483 "lang/parser.ml"
         in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv962)) : 'freshtv964)
    | MenhirState214 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv967 * 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 : 'freshtv965 * 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
          (
# 372 "lang/parser.mly"
                 ( ["", _1, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__1_), _2] )
# 7501 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv966)) : 'freshtv968)
    | MenhirState96 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv971 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7510 "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 : ((('freshtv969 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7518 "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)
# 7525 "lang/parser.ml"
        )), _startpos__2_), _), _endpos__4_, _, _startpos__4_) = _menhir_stack in
        let _v =
          let _loc__2_ = (_startpos__2_, _endpos__2_) in
          (
# 371 "lang/parser.mly"
                                 ( [_2, "_", Type.fresh_evar ~level:(-1) ~pos:(Some _loc__2_), _5] )
# 7532 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv970)) : 'freshtv972)
    | MenhirState94 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv975 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7541 "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 : ('freshtv973 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7549 "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)
# 7556 "lang/parser.ml"
        )), _startpos__2_) = _menhir_stack in
        let _v =
          let _loc__2_ = (_startpos__2_, _endpos__2_) in
          (
# 369 "lang/parser.mly"
                 ( [_2, _2, Type.fresh_evar ~level:(-1) ~pos:(Some _loc__2_), _3] )
# 7563 "lang/parser.ml"
           : 'tv_arg)
        in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv974)) : 'freshtv976)
    | MenhirState377 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv979 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7572 "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 : ((((('freshtv977 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 7580 "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)
# 7587 "lang/parser.ml"
        )), _startpos__3_), _, (_5 : 'tv_ty)), _endpos__6_) = _menhir_stack in
        let _v : 'tv_arg = 
# 370 "lang/parser.mly"
                                    ( [_3, _3, _5, _7 ] )
# 7592 "lang/parser.ml"
         in
        (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv978)) : 'freshtv980)
    | _ ->
        _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
    | MenhirState356 | MenhirState350 | MenhirState346 | MenhirState341 | MenhirState107 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv955 * _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 : 'freshtv949 * _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_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState341 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | RPAR ->
                _menhir_reduce143 _menhir_env (Obj.magic _menhir_stack) MenhirState341
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState341) : 'freshtv950)
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv951 * _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 = 
# 427 "lang/parser.mly"
                                     ( [_1] )
# 7633 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_params _menhir_env _menhir_stack _menhir_s _v : 'freshtv952)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv953 * _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 : 'freshtv954)) : 'freshtv956)
    | MenhirState361 | MenhirState105 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv959 * _menhir_state * 'tv_ffmpeg_param) = Obj.magic _menhir_stack in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv957 * _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 = 
# 443 "lang/parser.mly"
                                      ( `Option _1 )
# 7652 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv958)) : 'freshtv960)
    | _ ->
        _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 : 'freshtv947 * 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_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState295
    | 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_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState295
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState295) : 'freshtv948)

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
    | MenhirState282 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv937 * 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_run286 _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 * 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 : ((('freshtv931 * 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
              (
# 167 "lang/parser.mly"
                                     ( _4 ~pos:_loc _1 )
# 7705 "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 * 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 : 'freshtv936)) : 'freshtv938)
    | MenhirState72 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv945 * _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_run286 _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 : ('freshtv941 * _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 : ('freshtv939 * _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
              (
# 168 "lang/parser.mly"
                                     ( _2 ~pos:_loc (mk ~pos:_loc (Tuple [])) )
# 7742 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv940)) : 'freshtv942)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv943 * _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 : 'freshtv944)) : 'freshtv946)
    | _ ->
        _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 : 'freshtv929 * _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 : 'freshtv923 * _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_run258 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI ->
            _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run237 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState274 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce15 _menhir_env (Obj.magic _menhir_stack) MenhirState274
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState274) : 'freshtv924)
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv925 * _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 = 
# 306 "lang/parser.mly"
                                 ( _1 )
# 7865 "lang/parser.ml"
         in
        (_menhir_goto_app_list _menhir_env _menhir_stack _menhir_s _v : 'freshtv926)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv927 * _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 : 'freshtv928)) : 'freshtv930)

and _menhir_reduce185 : _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 = 
# 115 "lang/parser.mly"
     ()
# 7882 "lang/parser.ml"
     in
    _menhir_goto_s _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run231 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState231 _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) MenhirState231

and _menhir_run233 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState233 _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) MenhirState233

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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _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_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState240 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | SHINE ->
        _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | VAR _v ->
        _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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_run227 : _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 : 'freshtv921) = 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 = 
# 115 "lang/parser.mly"
               ()
# 8164 "lang/parser.ml"
     in
    (_menhir_goto_s _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv922)

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
    | AVI ->
        _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState242 _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) MenhirState242

and _menhir_run244 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState244 _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) MenhirState244

and _menhir_run235 : _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 : ('freshtv909 * 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 : 'freshtv907) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState282 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 8368 "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_run74 _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 : 'freshtv905 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 8384 "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 : 'freshtv906)) : 'freshtv908)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState282) : 'freshtv910)
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv913 * 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)
# 8399 "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 : ('freshtv911 * 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)
# 8409 "lang/parser.ml"
        )) : (
# 30 "lang/parser.mly"
       (string)
# 8413 "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
          (
# 170 "lang/parser.mly"
                                     ( mk ~pos:_loc (Invoke (_1, _3)) )
# 8426 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv912)) : 'freshtv914)
    | VARLBRA _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv915 * 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)
# 8437 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState278 _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) MenhirState278) : 'freshtv916)
    | VARLPAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv917 * 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)
# 8533 "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_run258 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | AVI ->
            _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run237 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState236 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce15 _menhir_env (Obj.magic _menhir_stack) MenhirState236
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState236) : 'freshtv918)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv919 * 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 : 'freshtv920)

and _menhir_run250 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState250 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _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

and _menhir_run252 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 55 "lang/parser.mly"
       (string)
# 8726 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState252 _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) MenhirState252

and _menhir_run246 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 58 "lang/parser.mly"
       (string)
# 8819 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState246 _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) MenhirState246

and _menhir_run254 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 57 "lang/parser.mly"
       (string)
# 8912 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState254 _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) MenhirState254

and _menhir_run256 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * 'tv_expr * Lexing.position -> Lexing.position -> _menhir_state -> (
# 56 "lang/parser.mly"
       (string)
# 9005 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState256 _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) MenhirState256

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
    | MenhirState23 ->
        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 = 
# 410 "lang/parser.mly"
                       ( Lang_vorbis.make_cbr _2 )
# 9115 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv814)) : 'freshtv816)
    | MenhirState25 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv819 * 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 : 'freshtv817 * 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 = 
# 411 "lang/parser.mly"
                       ( Lang_vorbis.make_abr _2 )
# 9135 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv818)) : 'freshtv820)
    | MenhirState27 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv823 * 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 : 'freshtv821 * 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 = 
# 409 "lang/parser.mly"
                       ( Lang_vorbis.make _2 )
# 9155 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv822)) : 'freshtv824)
    | MenhirState38 ->
        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 : 'tv_ogg_video_item = 
# 420 "lang/parser.mly"
                       ( Lang_theora.make _2 )
# 9175 "lang/parser.ml"
         in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv847) = _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
        | MenhirState49 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv833 * _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 : (('freshtv825 * _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_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | OPUS ->
                    _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | SPEEX ->
                    _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS ->
                    _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_ABR ->
                    _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VORBIS_CBR ->
                    _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState55 _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) MenhirState55) : 'freshtv826)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv829 * _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 : (('freshtv827 * _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
                  (
# 162 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = None; video = Some _3}) )
# 9233 "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) * 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)
        | MenhirState60 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv841 * _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 : (((('freshtv837 * _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 : (((('freshtv835 * _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
                  (
# 159 "lang/parser.mly"
                                                      ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = Some _3; video = Some _5}) )
# 9268 "lang/parser.ml"
                   : 'tv_expr)
                in
                (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv836)) : 'freshtv838)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (((('freshtv839 * _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 : 'freshtv840)) : 'freshtv842)
        | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState20 | MenhirState22 | MenhirState29 | MenhirState30 | MenhirState33 | MenhirState450 | MenhirState445 | MenhirState34 | MenhirState440 | MenhirState47 | MenhirState63 | MenhirState432 | MenhirState70 | MenhirState426 | MenhirState72 | MenhirState74 | MenhirState414 | MenhirState75 | MenhirState411 | MenhirState406 | MenhirState404 | MenhirState402 | MenhirState400 | MenhirState78 | MenhirState397 | MenhirState394 | MenhirState87 | MenhirState90 | MenhirState381 | MenhirState95 | MenhirState97 | MenhirState367 | MenhirState100 | MenhirState336 | MenhirState109 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState296 | MenhirState293 | MenhirState290 | MenhirState288 | MenhirState278 | MenhirState274 | MenhirState236 | MenhirState256 | MenhirState254 | MenhirState252 | MenhirState250 | MenhirState248 | MenhirState246 | MenhirState244 | MenhirState242 | MenhirState240 | MenhirState238 | MenhirState233 | MenhirState231 | MenhirState228 | MenhirState219 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv845 * 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 : 'freshtv843 * 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
              (
# 164 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Encoder.Ogg {Ogg_format.audio = None; video = Some _1}) )
# 9294 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv844)) : 'freshtv846)
        | _ ->
            _menhir_fail ()) : 'freshtv848) : 'freshtv850)) : 'freshtv852)
    | MenhirState41 ->
        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 = 
# 412 "lang/parser.mly"
                       ( Lang_speex.make _2 )
# 9317 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv854)) : 'freshtv856)
    | MenhirState43 ->
        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 _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_shine.make _2) )
# 9341 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv858)) : 'freshtv860)
    | MenhirState45 ->
        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 : 'tv_top_level_ogg_audio_item = 
# 413 "lang/parser.mly"
                       ( Lang_opus.make _2 )
# 9362 "lang/parser.ml"
         in
        (_menhir_goto_top_level_ogg_audio_item _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv862)) : 'freshtv864)
    | MenhirState50 ->
        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 _v : 'tv_ogg_audio_item = 
# 416 "lang/parser.mly"
                             ( Lang_flac.make_ogg _2 )
# 9380 "lang/parser.ml"
         in
        (_menhir_goto_ogg_audio_item _menhir_env _menhir_stack _menhir_s _v : 'freshtv866)) : 'freshtv868)
    | MenhirState64 ->
        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
          (
# 149 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_vbr _2) )
# 9404 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv870)) : 'freshtv872)
    | MenhirState66 ->
        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
          (
# 150 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_abr _2) )
# 9429 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv874)) : 'freshtv876)
    | MenhirState68 ->
        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
          (
# 148 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_mp3.make_cbr _2) )
# 9454 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv878)) : 'freshtv880)
    | MenhirState88 ->
        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
          (
# 156 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_gstreamer.make ~pos:_loc _2) )
# 9479 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv882)) : 'freshtv884)
    | MenhirState102 ->
        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
          (
# 153 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_flac.make _2) )
# 9504 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv886)) : 'freshtv888)
    | MenhirState110 ->
        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
          (
# 152 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_fdkaac.make _2) )
# 9529 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv890)) : 'freshtv892)
    | MenhirState112 ->
        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
          (
# 155 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_external_encoder.make _2) )
# 9554 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv894)) : 'freshtv896)
    | MenhirState220 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv899 * 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 : 'freshtv897 * 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_avi.make _2) )
# 9579 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv898)) : 'freshtv900)
    | MenhirState21 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv903 * 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 : 'freshtv901 * 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
          (
# 157 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_wav.make _2) )
# 9604 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv902)) : 'freshtv904)
    | _ ->
        _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
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv811 * _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 : 'freshtv807 * _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 ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv787) = Obj.magic _menhir_stack in
            let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_v : (
# 37 "lang/parser.mly"
       (bool)
# 9637 "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 : 'freshtv785) = Obj.magic _menhir_stack in
            let (_endpos__1_ : Lexing.position) = _endpos in
            let ((_1 : (
# 37 "lang/parser.mly"
       (bool)
# 9647 "lang/parser.ml"
            )) : (
# 37 "lang/parser.mly"
       (bool)
# 9651 "lang/parser.ml"
            )) = _v in
            let (_startpos__1_ : Lexing.position) = _startpos in
            let _v : 'tv_annotate_value = 
# 473 "lang/parser.mly"
         ( string_of_bool _1 )
# 9657 "lang/parser.ml"
             in
            (_menhir_goto_annotate_value _menhir_env _menhir_stack _v : 'freshtv786)) : 'freshtv788)
        | FLOAT _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv791) = 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)
# 9667 "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 : 'freshtv789) = Obj.magic _menhir_stack in
            let (_endpos__1_ : Lexing.position) = _endpos in
            let ((_1 : (
# 36 "lang/parser.mly"
       (float)
# 9677 "lang/parser.ml"
            )) : (
# 36 "lang/parser.mly"
       (float)
# 9681 "lang/parser.ml"
            )) = _v in
            let (_startpos__1_ : Lexing.position) = _startpos in
            let _v : 'tv_annotate_value = 
# 472 "lang/parser.mly"
          ( string_of_float _1 )
# 9687 "lang/parser.ml"
             in
            (_menhir_goto_annotate_value _menhir_env _menhir_stack _v : 'freshtv790)) : 'freshtv792)
        | INT _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv795) = 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)
# 9697 "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 : 'freshtv793) = Obj.magic _menhir_stack in
            let (_endpos__1_ : Lexing.position) = _endpos in
            let ((_1 : (
# 35 "lang/parser.mly"
       (int)
# 9707 "lang/parser.ml"
            )) : (
# 35 "lang/parser.mly"
       (int)
# 9711 "lang/parser.ml"
            )) = _v in
            let (_startpos__1_ : Lexing.position) = _startpos in
            let _v : 'tv_annotate_value = 
# 471 "lang/parser.mly"
        ( string_of_int _1 )
# 9717 "lang/parser.ml"
             in
            (_menhir_goto_annotate_value _menhir_env _menhir_stack _v : 'freshtv794)) : 'freshtv796)
        | STRING _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv799) = 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)
# 9727 "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 : 'freshtv797) = Obj.magic _menhir_stack in
            let (_endpos__1_ : Lexing.position) = _endpos in
            let ((_1 : (
# 34 "lang/parser.mly"
       (string)
# 9737 "lang/parser.ml"
            )) : (
# 34 "lang/parser.mly"
       (string)
# 9741 "lang/parser.ml"
            )) = _v in
            let (_startpos__1_ : Lexing.position) = _startpos in
            let _v : 'tv_annotate_value = 
# 475 "lang/parser.mly"
           ( _1 )
# 9747 "lang/parser.ml"
             in
            (_menhir_goto_annotate_value _menhir_env _menhir_stack _v : 'freshtv798)) : 'freshtv800)
        | VAR _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv803) = 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)
# 9757 "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 : 'freshtv801) = Obj.magic _menhir_stack in
            let (_endpos__1_ : Lexing.position) = _endpos in
            let ((_1 : (
# 30 "lang/parser.mly"
       (string)
# 9767 "lang/parser.ml"
            )) : (
# 30 "lang/parser.mly"
       (string)
# 9771 "lang/parser.ml"
            )) = _v in
            let (_startpos__1_ : Lexing.position) = _startpos in
            let _v : 'tv_annotate_value = 
# 474 "lang/parser.mly"
        ( _1 )
# 9777 "lang/parser.ml"
             in
            (_menhir_goto_annotate_value _menhir_env _menhir_stack _v : 'freshtv802)) : 'freshtv804)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv805 * _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 : 'freshtv806)) : 'freshtv808)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv809 * _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 : 'freshtv810)) : 'freshtv812)

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

and _menhir_run237 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 9807 "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 : 'freshtv781 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9819 "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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _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_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState238 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _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
        | SHINE ->
            _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
        | TRY ->
            _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
        | UMINUS ->
            _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
        | VAR _v ->
            _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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) : 'freshtv782)
    | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | COALESCE | COMMA | DOT | MINUS | QUESTION | RPAR | SET | TIMES | TO ->
        _menhir_reduce67 _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 : 'freshtv783 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9915 "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 : 'freshtv784)

and _menhir_run258 : _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 : 'freshtv777 * _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 : ('freshtv773 * _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) = MenhirState259 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 9942 "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_run200 _menhir_env (Obj.magic _menhir_stack)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv769 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9956 "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 : (('freshtv767 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9964 "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)
# 9970 "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
                  (
# 298 "lang/parser.mly"
                                 ( app_of ~only:[] ~except:[] ~pos:_loc _3 )
# 9979 "lang/parser.ml"
                   : 'tv_app_list_elem)
                in
                (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv768)) : 'freshtv770)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv771 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 9990 "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 : 'freshtv772)) : 'freshtv774)
        | VARLBRA _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv775 * _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) = MenhirState259 in
            let (_v : (
# 32 "lang/parser.mly"
       (string)
# 10002 "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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run188 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState260 _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) MenhirState260) : 'freshtv776)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState259) : '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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv780)

and _menhir_reduce55 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10032 "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)
# 10038 "lang/parser.ml"
    )), _startpos__1_) = _menhir_stack in
    let _startpos = _startpos__1_ in
    let _endpos = _endpos__1_ in
    let _v : 'tv_bindvar = 
# 310 "lang/parser.mly"
        ( _1 )
# 10045 "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
    | MenhirState98 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv731 * 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 : ('freshtv727 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState100 _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) MenhirState100) : 'freshtv728)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv729 * 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 : 'freshtv730)) : 'freshtv732)
    | MenhirState119 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv737 * _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 : ('freshtv733 * _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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState121 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState121 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState121 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState121 _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) MenhirState121) : 'freshtv734)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv735 * _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 : 'freshtv736)) : 'freshtv738)
    | MenhirState92 | MenhirState318 | MenhirState301 | MenhirState118 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv739 * 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_run97 _menhir_env (Obj.magic _menhir_stack) MenhirState214
        | COMMA | RPAR ->
            _menhir_reduce173 _menhir_env (Obj.magic _menhir_stack) MenhirState214
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState214) : 'freshtv740)
    | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState34 | MenhirState450 | MenhirState445 | MenhirState440 | MenhirState78 | MenhirState400 | MenhirState402 | MenhirState404 | MenhirState406 | MenhirState367 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState219 | MenhirState228 | MenhirState296 | MenhirState290 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv745 * 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 : 'freshtv741 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState293 _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) MenhirState293) : 'freshtv742)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv743 * 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)
    | MenhirState388 | MenhirState303 | MenhirState310 | MenhirState314 ->
        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_env) = _menhir_env in
        let (_menhir_stack : 'freshtv747 * 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 = 
# 314 "lang/parser.mly"
            ( PVar [_1] )
# 10309 "lang/parser.ml"
         in
        (_menhir_goto_pattern _menhir_env _menhir_stack _menhir_s _v : 'freshtv748)) : 'freshtv750)
    | MenhirState386 | MenhirState81 ->
        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
        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 : 'freshtv751 * 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_run83 _menhir_env (Obj.magic _menhir_stack) MenhirState386 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState386 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState386 _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) MenhirState386) : 'freshtv752)
        | RBRA ->
            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
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_bindvar), _startpos__1_) = _menhir_stack in
            let _v : 'tv_list_bind = 
# 354 "lang/parser.mly"
                            ( [_1], None )
# 10343 "lang/parser.ml"
             in
            (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv754)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            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, _, _menhir_s, _, _) = _menhir_stack in
            (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv756)) : 'freshtv758)
    | MenhirState443 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv765 * 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 : ((('freshtv759 * 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_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState448 _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) MenhirState448) : 'freshtv760)
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv761 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState445 _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) MenhirState445) : '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 * 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 : 'freshtv764)) : 'freshtv766)
    | _ ->
        _menhir_fail ()

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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState50 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | COMMA | RPAR ->
        _menhir_reduce24 _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_run83 : _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 : 'freshtv723 * _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)
# 10505 "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 : 'freshtv721 * _menhir_state * Lexing.position) = Obj.magic _menhir_stack in
        let (_endpos__2_ : Lexing.position) = _endpos in
        let ((_2 : (
# 30 "lang/parser.mly"
       (string)
# 10515 "lang/parser.ml"
        )) : (
# 30 "lang/parser.mly"
       (string)
# 10519 "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 = 
# 353 "lang/parser.mly"
                            ( [], Some _2 )
# 10526 "lang/parser.ml"
         in
        (_menhir_goto_list_bind _menhir_env _menhir_stack _menhir_s _v : 'freshtv722)) : 'freshtv724)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv725 * _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 : 'freshtv726)

and _menhir_reduce67 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10540 "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)
# 10546 "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
      (
# 144 "lang/parser.mly"
                                     ( mk ~pos:_loc (Var _1) )
# 10557 "lang/parser.ml"
       : 'tv_expr)
    in
    _menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_run74 : _menhir_env -> 'ttv_tail * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10565 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState74 _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) MenhirState74

and _menhir_reduce157 : _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 = 
# 285 "lang/parser.mly"
                          ( `List [] )
# 10660 "lang/parser.ml"
     in
    _menhir_goto_inner_list _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run411 : _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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState411 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState411 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | SHINE ->
        _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
    | SPEEX ->
        _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
    | STRING _v ->
        _menhir_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | VAR _v ->
        _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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

and _menhir_run31 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 10756 "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_reduce67 _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 : 'freshtv719 * 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 : 'freshtv717 * 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
      (
# 154 "lang/parser.mly"
                                     ( mk_enc ~pos:_loc (Lang_ffmpeg.make _2) )
# 10783 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv718)) : 'freshtv720)

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

and _menhir_run106 : _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_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState107 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _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
        | RPAR ->
            _menhir_reduce143 _menhir_env (Obj.magic _menhir_stack) MenhirState107
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState107) : 'freshtv712)
    | COMMA | RPAR ->
        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
        let _v : 'tv_ffmpeg_list_elem = 
# 440 "lang/parser.mly"
                                      ( `Video_raw [] )
# 10828 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv714)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv715 * _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 : 'freshtv716)

and _menhir_run343 : _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 : 'freshtv709) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 437 "lang/parser.mly"
                                      ( `Video_none )
# 10848 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv710)

and _menhir_run344 : _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 : 'freshtv707) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 438 "lang/parser.mly"
                                      ( `Video_copy )
# 10861 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv708)

and _menhir_run345 : _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 : 'freshtv703 * _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_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState346 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState346 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce143 _menhir_env (Obj.magic _menhir_stack) MenhirState346
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState346) : 'freshtv704)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv705 * _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 : 'freshtv706)

and _menhir_run108 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 10900 "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 : 'freshtv699 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 10912 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState109 _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) MenhirState109) : 'freshtv700)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv701 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11006 "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 : 'freshtv702)

and _menhir_run335 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 11014 "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 : 'freshtv695 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 11026 "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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState336 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState336 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _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
        | SHINE ->
            _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
        | SPEEX ->
            _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
        | STRING _v ->
            _menhir_run40 _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_run38 _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_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
        | TRY ->
            _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
        | UMINUS ->
            _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
        | VAR _v ->
            _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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) : 'freshtv696)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv697 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 11120 "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 : 'freshtv698)

and _menhir_run349 : _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_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState350 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState350 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce143 _menhir_env (Obj.magic _menhir_stack) MenhirState350
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState350) : 'freshtv690)
    | COMMA | RPAR ->
        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
        let _v : 'tv_ffmpeg_list_elem = 
# 435 "lang/parser.mly"
                                      ( `Audio_raw [] )
# 11156 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv692)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv693 * _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 : 'freshtv694)

and _menhir_run353 : _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_ffmpeg_list_elem = 
# 431 "lang/parser.mly"
                                      ( `Audio_none )
# 11176 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv688)

and _menhir_run354 : _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 : 'freshtv685) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_ffmpeg_list_elem = 
# 432 "lang/parser.mly"
                                      ( `Audio_copy )
# 11189 "lang/parser.ml"
     in
    (_menhir_goto_ffmpeg_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv686)

and _menhir_run355 : _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 : 'freshtv681 * _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_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState356 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState356 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce143 _menhir_env (Obj.magic _menhir_stack) MenhirState356
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState356) : 'freshtv682)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv683 * _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 : 'freshtv684)

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

and _menhir_run80 : _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 : 'freshtv679) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let _v : 'tv_replaces = 
# 358 "lang/parser.mly"
             ( true )
# 11243 "lang/parser.ml"
     in
    (_menhir_goto_replaces _menhir_env _menhir_stack _menhir_s _v : 'freshtv680)

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

and _menhir_run82 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 11259 "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_reduce55 _menhir_env (Obj.magic _menhir_stack)

and _menhir_run93 : _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 : 'freshtv669 * _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 : ('freshtv665 * _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)
# 11287 "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 : (('freshtv661 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11299 "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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState375 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | LPAR ->
                    _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState375 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VAR _v ->
                    _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState375 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
                | VARLPAR _v ->
                    _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState375 _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) MenhirState375) : 'freshtv662)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv663 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11323 "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 : 'freshtv664)) : '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)) : 'freshtv670)
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv675 * _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)
# 11341 "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 : ('freshtv673 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11353 "lang/parser.ml"
            ) * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState94 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv671 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 11427 "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) = MenhirState95 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_run97 _menhir_env (Obj.magic _menhir_stack) MenhirState96
                | COMMA | RPAR ->
                    _menhir_reduce173 _menhir_env (Obj.magic _menhir_stack) MenhirState96
                | _ ->
                    assert (not _menhir_env._menhir_error);
                    _menhir_env._menhir_error <- true;
                    _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState96) : 'freshtv672)
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState95 _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) MenhirState95) : 'freshtv674)
        | COMMA | RPAR ->
            _menhir_reduce173 _menhir_env (Obj.magic _menhir_stack) MenhirState94
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState94) : 'freshtv676)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv677 * _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 : 'freshtv678)

and _menhir_run119 : _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_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState119 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState119 _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) MenhirState119

and _menhir_run185 : _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 : 'freshtv657 * _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 : ('freshtv653 * _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) = MenhirState186 in
            let (_v : (
# 30 "lang/parser.mly"
       (string)
# 11515 "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_run200 _menhir_env (Obj.magic _menhir_stack)
            | RPAR ->
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv649 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11529 "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 : (('freshtv647 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11537 "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)
# 11543 "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
                  (
# 374 "lang/parser.mly"
                          ( args_of ~only:[] ~except:[] ~pos:_loc _3 )
# 11552 "lang/parser.ml"
                   : 'tv_arg)
                in
                (_menhir_goto_arg _menhir_env _menhir_stack _menhir_s _v : 'freshtv648)) : 'freshtv650)
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                let (_menhir_env : _menhir_env) = _menhir_env in
                let (_menhir_stack : (('freshtv651 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11563 "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 : 'freshtv652)) : 'freshtv654)
        | VARLBRA _v ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv655 * _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) = MenhirState186 in
            let (_v : (
# 32 "lang/parser.mly"
       (string)
# 11575 "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_run190 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState187 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run188 _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) : 'freshtv656)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState186) : '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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv660)

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
    | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState34 | MenhirState450 | MenhirState445 | MenhirState440 | MenhirState78 | MenhirState400 | MenhirState402 | MenhirState404 | MenhirState406 | MenhirState367 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState219 | MenhirState296 | MenhirState290 | MenhirState228 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv487 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState230
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState230
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState230
        | SEQ ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState230 _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_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState230
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState230) : 'freshtv488)
    | MenhirState231 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv491 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState232
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState232
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState232 _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 : (('freshtv489 * 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
              (
# 181 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Invoke (mk ~pos:_loc__2_ (Var "iterator"), "int")), ["", _1; "", _3])) )
# 11678 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv490)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState232) : 'freshtv492)
    | MenhirState233 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv495 * 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_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState234
        | 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 : (('freshtv493 * 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
              (
# 218 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var "*"), ["",_1;"",_3])) )
# 11708 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv494)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState234) : 'freshtv496)
    | MenhirState238 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv499 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11721 "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_run256 _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_run254 _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_run246 _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_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState239
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState239
        | MINUS ->
            _menhir_run244 _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_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState239
        | SET ->
            _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
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState239 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv497 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 11753 "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)
# 11758 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_app_list_elem = 
# 296 "lang/parser.mly"
                  ( [_1,_3] )
# 11763 "lang/parser.ml"
             in
            (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : '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
        | BIN1 _v ->
            _menhir_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState241
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState241
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState241 _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 : (('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__1_ = (_startpos__1_, _endpos__1_) in
              let _loc = (_startpos, _endpos) in
              (
# 147 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Invoke (mk ~pos:_loc__1_ (Var "ref"), "set")), ["", _1; "", _3])) )
# 11811 "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)
    | MenhirState242 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv507 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState243
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv505 * 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) = MenhirState243 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState248 _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) MenhirState248) : 'freshtv506)
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState243
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState243
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState243 _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) MenhirState243) : 'freshtv508)
    | MenhirState244 ->
        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
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState245
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState245 _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 : (('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 = (_startpos, _endpos) in
              (
# 219 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var "-"), ["",_1;"",_3])) )
# 11967 "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) MenhirState245) : 'freshtv512)
    | MenhirState246 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv515 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 11980 "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_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState247
        | 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 : (('freshtv513 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 11992 "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)
# 11997 "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
              (
# 217 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12009 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv514)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState247) : 'freshtv516)
    | MenhirState248 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv519 * 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 : (((('freshtv517 * 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
          (
# 206 "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])) )
# 12039 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv518)) : 'freshtv520)
    | MenhirState250 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv523 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState251
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState251
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState251 _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 : (('freshtv521 * 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
              (
# 182 "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])) )
# 12087 "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) MenhirState251) : 'freshtv524)
    | MenhirState252 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv527 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 12100 "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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState253
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState253 _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 : (('freshtv525 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 12122 "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)
# 12127 "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
              (
# 212 "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])) )
# 12143 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv526)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState253) : 'freshtv528)
    | MenhirState254 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv531 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 12156 "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_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState255
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState255 _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 : (('freshtv529 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 12172 "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)
# 12177 "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
              (
# 216 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12189 "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) MenhirState255) : 'freshtv532)
    | MenhirState256 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv535 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 12202 "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_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState257
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState257 _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 : (('freshtv533 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 12222 "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)
# 12227 "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
              (
# 215 "lang/parser.mly"
                                   ( mk ~pos:_loc (App (mk ~pos:_loc__2_ (Var _2), ["",_1;"",_3])) )
# 12239 "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) MenhirState257) : 'freshtv536)
    | MenhirState22 | MenhirState29 | MenhirState274 | MenhirState236 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv539 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState272
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState272
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState272
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState272 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv537 * 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 = 
# 297 "lang/parser.mly"
                  ( ["",_1] )
# 12282 "lang/parser.ml"
             in
            (_menhir_goto_app_list_elem _menhir_env _menhir_stack _menhir_s _v : 'freshtv538)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState272) : 'freshtv540)
    | MenhirState278 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv545 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12294 "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_run256 _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_run254 _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_run246 _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_run252 _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_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | MINUS ->
            _menhir_run244 _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_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState279
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv543 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12320 "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) = MenhirState279 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv541 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 12329 "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)
# 12336 "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
              (
# 174 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc (Var "_[_]"), ["", mk ~pos:(_startpos__1_,_endpos__3_) (Invoke (_1, _3)); "", _4])) )
# 12347 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv542)) : 'freshtv544)
        | SET ->
            _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
        | TIMES ->
            _menhir_run233 _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_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState279 _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) MenhirState279) : 'freshtv546)
    | MenhirState288 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv549 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 12366 "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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState289
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState289
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState289
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState289 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (((('freshtv547 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 12398 "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)
# 12403 "lang/parser.ml"
            )), _startpos__3_), _endpos__5_, _, (_5 : 'tv_expr), _startpos__5_) = _menhir_stack in
            let _v : 'tv_record = 
# 456 "lang/parser.mly"
                               ( fun ~pos e -> mk ~pos (Meth (_3, _5, _1 ~pos e)) )
# 12408 "lang/parser.ml"
             in
            (_menhir_goto_record _menhir_env _menhir_stack _menhir_s _v : 'freshtv548)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState289) : 'freshtv550)
    | MenhirState293 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv553 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState294
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState294
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState294
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState294 _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 : (('freshtv551 * 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 = 
# 329 "lang/parser.mly"
                      ( (Doc.none (),[],[]),false,PVar [_1],_3 )
# 12452 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv552)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState294) : 'freshtv554)
    | MenhirState109 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv557 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 12464 "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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState334
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState334
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState334
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState334 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv555 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 12496 "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)
# 12501 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_ffmpeg_param = 
# 424 "lang/parser.mly"
                         ( _1,_3 )
# 12506 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_param _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) MenhirState334) : 'freshtv558)
    | MenhirState336 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv561 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 12518 "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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState337
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState337
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState337
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState337 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv559 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 12550 "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)
# 12555 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_ffmpeg_param = 
# 423 "lang/parser.mly"
                         ( _1,_3 )
# 12560 "lang/parser.ml"
             in
            (_menhir_goto_ffmpeg_param _menhir_env _menhir_stack _menhir_s _v : 'freshtv560)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState337) : 'freshtv562)
    | MenhirState100 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv565 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState366
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ((('freshtv563 * 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) = MenhirState366 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState367 _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) MenhirState367) : 'freshtv564)
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState366
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState366
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState366 _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) MenhirState366) : 'freshtv566)
    | MenhirState95 | MenhirState97 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv569 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState370
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState370
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState370
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState370 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv567 * _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 = 
# 381 "lang/parser.mly"
              ( Some _2 )
# 12732 "lang/parser.ml"
             in
            (_menhir_goto_opt _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) MenhirState370) : 'freshtv570)
    | MenhirState381 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv573 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState382
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState382
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState382
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState382 _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 : ((((('freshtv571 * _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
              (
# 176 "lang/parser.mly"
                                     ( mk_fun ~pos:_loc _3 _6 )
# 12780 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv572)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState382) : 'freshtv574)
    | MenhirState90 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv577 * 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_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState383
        | 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 : ('freshtv575 * 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
              (
# 146 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Invoke (mk ~pos:_loc__1_ (Var "ref"), "get")), ["", _2])) )
# 12810 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv576)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState383) : 'freshtv578)
    | MenhirState87 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv585 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState384
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState384
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState384
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState384 _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 : ((((('freshtv583 * _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 = 
# 349 "lang/parser.mly"
                                      ( _3,_6 )
# 12855 "lang/parser.ml"
             in
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv581) = _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 : 'freshtv579 * 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_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState226
            | 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_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState226
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState226) : 'freshtv580)) : 'freshtv582) : 'freshtv584)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState384) : 'freshtv586)
    | MenhirState394 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv589 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState395
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState395
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState395
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState395 _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 : (((('freshtv587 * _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 = 
# 331 "lang/parser.mly"
                                    ( (Doc.none (),[],[]),_2,PVar _3,_5 )
# 12918 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv588)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState395) : 'freshtv590)
    | MenhirState397 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv593 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState398
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState398
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState398
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState398 _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) * _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 = 
# 330 "lang/parser.mly"
                                   ( (Doc.none (),[],[]),_2,_3,_5 )
# 12962 "lang/parser.ml"
             in
            (_menhir_goto_binding _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv592)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState398) : 'freshtv594)
    | MenhirState411 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv597 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState412
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState412
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState412
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState412 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv595 * _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 = 
# 288 "lang/parser.mly"
                   ( `Ellipsis _2 )
# 13006 "lang/parser.ml"
             in
            (_menhir_goto_inner_list_item _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) MenhirState412) : 'freshtv598)
    | MenhirState75 | MenhirState414 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv601 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState416
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState416
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState416
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState416 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : 'freshtv599 * 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 = 
# 289 "lang/parser.mly"
                   ( `Expr _1 )
# 13050 "lang/parser.ml"
             in
            (_menhir_goto_inner_list_item _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) MenhirState416) : 'freshtv602)
    | MenhirState74 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv605 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 13062 "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_run256 _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_run254 _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_run246 _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_run252 _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_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | MINUS ->
            _menhir_run244 _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_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState419
        | SET ->
            _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
        | TIMES ->
            _menhir_run233 _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_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState419 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COMMA | RCUR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv603 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 13094 "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)
# 13099 "lang/parser.ml"
            )), _startpos__1_), _endpos__3_, _, (_3 : 'tv_expr), _startpos__3_) = _menhir_stack in
            let _v : 'tv_record = 
# 455 "lang/parser.mly"
                  ( fun ~pos e -> mk ~pos (Meth (_1, _3, e)) )
# 13104 "lang/parser.ml"
             in
            (_menhir_goto_record _menhir_env _menhir_stack _menhir_s _v : 'freshtv604)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState419) : 'freshtv606)
    | MenhirState426 | MenhirState72 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv611 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState425
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState425
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState425
        | SEQ ->
            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 (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
            let (_menhir_s : _menhir_state) = MenhirState425 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState426 _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) MenhirState426) : 'freshtv608)
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState425 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RCUR ->
            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
            let (_menhir_stack, _endpos__1_, _menhir_s, (_1 : 'tv_expr), _startpos__1_) = _menhir_stack in
            let _endpos = _endpos__1_ in
            let _v : 'tv_exprss = 
# 129 "lang/parser.mly"
         ( _1 )
# 13238 "lang/parser.ml"
             in
            (_menhir_goto_exprss _menhir_env _menhir_stack _endpos _menhir_s _v : 'freshtv610)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState425) : 'freshtv612)
    | MenhirState70 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv619 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState430
        | COLON ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv613 * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState430 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_run158 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState435 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run155 _menhir_env (Obj.magic _menhir_stack) MenhirState435 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run154 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState435 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run122 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState435 _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) MenhirState435) : 'freshtv614)
        | COMMA ->
            _menhir_run432 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState430
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState430
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv617 * _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) = MenhirState430 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv615 * _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 = 
# 138 "lang/parser.mly"
                                     ( _2 )
# 13305 "lang/parser.ml"
             in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv616)) : 'freshtv618)
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState430 _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) MenhirState430) : 'freshtv620)
    | MenhirState432 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv623 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState434
        | COMMA ->
            _menhir_run432 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState434
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState434
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState434 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv621 * 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 = 
# 292 "lang/parser.mly"
                    ( [_1;_3] )
# 13355 "lang/parser.ml"
             in
            (_menhir_goto_inner_tuple _menhir_env _menhir_stack _menhir_s _v : 'freshtv622)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState434) : 'freshtv624)
    | MenhirState63 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv627 * 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_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState438 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState438 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState438
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState438 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState438 _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 : ('freshtv625 * 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
              (
# 140 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "not"), ["", _2])) )
# 13392 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv626)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState438) : 'freshtv628)
    | MenhirState47 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv629 * _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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState439
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState439
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState439
        | SEQ ->
            _menhir_run227 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState439 _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_reduce185 _menhir_env (Obj.magic _menhir_stack) MenhirState439
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState439) : 'freshtv630)
    | MenhirState33 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv635 * 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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState453
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState453
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState453
        | RPAR ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv633 * 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) = MenhirState453 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : (('freshtv631 * 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
              (
# 137 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc__1_ (Var "~-"), ["", _3])) )
# 13479 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv632)) : 'freshtv634)
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState453 _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) MenhirState453) : 'freshtv636)
    | MenhirState30 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv641 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13498 "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_run256 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN2 _v ->
            _menhir_run254 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BIN3 _v ->
            _menhir_run246 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BINB _v ->
            _menhir_run252 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | COALESCE ->
            _menhir_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState457
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState457
        | MINUS ->
            _menhir_run244 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | QUESTION ->
            _menhir_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState457
        | RBRA ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv639 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13524 "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) = MenhirState457 in
            let _menhir_env = _menhir_discard _menhir_env in
            ((let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv637 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 13533 "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)
# 13540 "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
              (
# 173 "lang/parser.mly"
                                     ( mk ~pos:_loc (App (mk ~pos:_loc (Var "_[_]"), ["", mk ~pos:_loc__1_ (Var _1); "", _2])) )
# 13552 "lang/parser.ml"
               : 'tv_expr)
            in
            (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv638)) : 'freshtv640)
        | SET ->
            _menhir_run240 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIMES ->
            _menhir_run233 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState457 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TO ->
            _menhir_run231 _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) : 'freshtv642)
    | MenhirState20 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv645 * 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_run256 _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_run254 _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_run246 _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_run252 _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_run250 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | DO ->
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv643 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) = Obj.magic _menhir_stack in
            let (_menhir_s : _menhir_state) = MenhirState464 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BEGIN ->
                _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | BOOL _v ->
                _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | DEF _v ->
                _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | EXTERNAL ->
                _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FDKAAC ->
                _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FFMPEG ->
                _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLAC ->
                _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FLOAT _v ->
                _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FOR ->
                _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | FUN ->
                _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GET ->
                _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | GSTREAMER ->
                _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | IF ->
                _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INT _v ->
                _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | INTERVAL _v ->
                _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LBRA ->
                _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LCUR ->
                _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LET ->
                _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3 ->
                _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_ABR ->
                _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | MP3_VBR ->
                _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | NOT ->
                _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OGG ->
                _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPEN ->
                _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | OPUS ->
                _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SHINE ->
                _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | SPEEX ->
                _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | STRING _v ->
                _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | THEORA ->
                _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TIME _v ->
                _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TRY ->
                _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UMINUS ->
                _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLBRA _v ->
                _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VARLPAR _v ->
                _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS ->
                _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_ABR ->
                _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VORBIS_CBR ->
                _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WAV ->
                _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | WHILE ->
                _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState465 _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) MenhirState465) : 'freshtv644)
        | DOT ->
            _menhir_run235 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | MINUS ->
            _menhir_run244 _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_run242 _menhir_env (Obj.magic _menhir_stack) MenhirState464
        | SET ->
            _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
        | TIMES ->
            _menhir_run233 _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_run231 _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) : 'freshtv646)
    | _ ->
        _menhir_fail ()

and _menhir_reduce24 : _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 = 
# 405 "lang/parser.mly"
                 ( [] )
# 13705 "lang/parser.ml"
     in
    _menhir_goto_app_opt _menhir_env _menhir_stack _endpos _menhir_s _v

and _menhir_run22 : _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_run258 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI ->
        _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run237 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState22 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RPAR ->
        _menhir_reduce15 _menhir_env (Obj.magic _menhir_stack) MenhirState22
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState22

and _menhir_goto_time_predicate : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 102 "lang/parser.mly"
      (Term.t)
# 13805 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos _menhir_s _v _startpos ->
    match _menhir_s with
    | MenhirState472 | MenhirState18 | MenhirState465 | MenhirState20 | MenhirState22 | MenhirState29 | MenhirState30 | MenhirState33 | MenhirState450 | MenhirState445 | MenhirState34 | MenhirState440 | MenhirState47 | MenhirState63 | MenhirState432 | MenhirState70 | MenhirState426 | MenhirState72 | MenhirState74 | MenhirState414 | MenhirState75 | MenhirState411 | MenhirState406 | MenhirState404 | MenhirState402 | MenhirState400 | MenhirState78 | MenhirState397 | MenhirState394 | MenhirState87 | MenhirState90 | MenhirState381 | MenhirState95 | MenhirState97 | MenhirState367 | MenhirState100 | MenhirState336 | MenhirState109 | MenhirState115 | MenhirState329 | MenhirState325 | MenhirState321 | MenhirState296 | MenhirState293 | MenhirState290 | MenhirState288 | MenhirState278 | MenhirState274 | MenhirState236 | MenhirState256 | MenhirState254 | MenhirState252 | MenhirState250 | MenhirState248 | MenhirState246 | MenhirState244 | MenhirState242 | MenhirState240 | MenhirState238 | MenhirState233 | MenhirState231 | MenhirState228 | MenhirState219 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv481) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : (
# 102 "lang/parser.mly"
      (Term.t)
# 13817 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _startpos in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv479) = Obj.magic _menhir_stack in
        let (_endpos__1_ : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let ((_1 : (
# 102 "lang/parser.mly"
      (Term.t)
# 13827 "lang/parser.ml"
        )) : (
# 102 "lang/parser.mly"
      (Term.t)
# 13831 "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 = 
# 220 "lang/parser.mly"
                                   ( _1 )
# 13839 "lang/parser.ml"
         in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv480)) : 'freshtv482)
    | MenhirState478 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv485) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _endpos in
        let (_menhir_s : _menhir_state) = _menhir_s in
        let (_v : (
# 102 "lang/parser.mly"
      (Term.t)
# 13850 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _startpos 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 : (
# 102 "lang/parser.mly"
      (Term.t)
# 13860 "lang/parser.ml"
        )) : (
# 102 "lang/parser.mly"
      (Term.t)
# 13864 "lang/parser.ml"
        )) = _v in
        let (_startpos__1_ : Lexing.position) = _startpos in
        (Obj.magic _1 : 'freshtv484)) : 'freshtv486)
    | _ ->
        _menhir_fail ()

and _menhir_run1 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 13874 "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 : 'freshtv477) = 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)
# 13885 "lang/parser.ml"
    )) : (
# 30 "lang/parser.mly"
       (string)
# 13889 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_key = 
# 467 "lang/parser.mly"
        ( _1 )
# 13895 "lang/parser.ml"
     in
    (_menhir_goto_annotate_key _menhir_env _menhir_stack _menhir_s _v : 'freshtv478)

and _menhir_run2 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 13902 "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 : 'freshtv475) = 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)
# 13913 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 13917 "lang/parser.ml"
    )) = _v in
    let (_startpos__1_ : Lexing.position) = _startpos in
    let _v : 'tv_annotate_key = 
# 468 "lang/parser.mly"
           ( _1 )
# 13923 "lang/parser.ml"
     in
    (_menhir_goto_annotate_key _menhir_env _menhir_stack _menhir_s _v : 'freshtv476)

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_goto_interactive : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 96 "lang/parser.mly"
      (Term.t)
# 13947 "lang/parser.ml"
) -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv473) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : (
# 96 "lang/parser.mly"
      (Term.t)
# 13956 "lang/parser.ml"
    )) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv471) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 96 "lang/parser.mly"
      (Term.t)
# 13964 "lang/parser.ml"
    )) : (
# 96 "lang/parser.mly"
      (Term.t)
# 13968 "lang/parser.ml"
    )) = _v in
    (Obj.magic _1 : 'freshtv472)) : 'freshtv474)

and _menhir_run20 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState20 _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) MenhirState20

and _menhir_run21 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState21 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState21
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState21

and _menhir_run23 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState23 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState23
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState23

and _menhir_run25 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState25 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState25
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState25

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
    | LPAR ->
        _menhir_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState27 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState27
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState27

and _menhir_run29 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 31 "lang/parser.mly"
       (string)
# 14124 "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_run258 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | AVI ->
        _menhir_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _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_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState29 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | SHINE ->
        _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | VAR _v ->
        _menhir_run237 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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_reduce15 _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_run30 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 32 "lang/parser.mly"
       (string)
# 14221 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState30 _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) MenhirState30

and _menhir_run35 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 30 "lang/parser.mly"
       (string)
# 14314 "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_reduce67 _menhir_env (Obj.magic _menhir_stack)
    | GETS ->
        _menhir_reduce55 _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 : 'freshtv469 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 14332 "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 : 'freshtv470)

and _menhir_run36 : _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 : 'freshtv467) = 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 = 
# 311 "lang/parser.mly"
               ( "_" )
# 14350 "lang/parser.ml"
     in
    (_menhir_goto_bindvar _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv468)

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
    | FLOAT _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv457 * 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)
# 14367 "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 : 'freshtv455 * 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)
# 14377 "lang/parser.ml"
        )) : (
# 36 "lang/parser.mly"
       (float)
# 14381 "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
          (
# 135 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Float (-. _2))) )
# 14394 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv456)) : 'freshtv458)
    | INT _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv461 * 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)
# 14405 "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 : 'freshtv459 * 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)
# 14415 "lang/parser.ml"
        )) : (
# 35 "lang/parser.mly"
       (int)
# 14419 "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
          (
# 136 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Int (- _2))) )
# 14432 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv460)) : 'freshtv462)
    | LPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv463 * 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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BEGIN ->
            _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | BOOL _v ->
            _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | EXTERNAL ->
            _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FDKAAC ->
            _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FFMPEG ->
            _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLAC ->
            _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FLOAT _v ->
            _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FOR ->
            _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | FUN ->
            _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GET ->
            _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | GSTREAMER ->
            _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | IF ->
            _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INT _v ->
            _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | INTERVAL _v ->
            _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LBRA ->
            _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LCUR ->
            _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3 ->
            _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_ABR ->
            _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | MP3_VBR ->
            _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | NOT ->
            _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OGG ->
            _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SHINE ->
            _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | STRING _v ->
            _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TIME _v ->
            _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TRY ->
            _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UMINUS ->
            _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLBRA _v ->
            _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VARLPAR _v ->
            _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WAV ->
            _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | WHILE ->
            _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState33 _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) MenhirState33) : 'freshtv464)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv465 * 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 : 'freshtv466)

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
    | AVI ->
        _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState34 _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) MenhirState34

and _menhir_run37 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 38 "lang/parser.mly"
       (int option list)
# 14634 "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_reduce190 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos

and _menhir_run38 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState38 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState38
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState38

and _menhir_run40 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 34 "lang/parser.mly"
       (string)
# 14658 "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 : 'freshtv453) = 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)
# 14669 "lang/parser.ml"
    )) : (
# 34 "lang/parser.mly"
       (string)
# 14673 "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
      (
# 143 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (String _1)) )
# 14685 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv454)

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
    | LPAR ->
        _menhir_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState41 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState41
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState41

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_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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState43 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState43
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState43

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_run22 _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_reduce24 _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 -> _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState47 _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) MenhirState47

and _menhir_run48 : _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 : 'freshtv449 * _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_run50 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | OPUS ->
            _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | SPEEX ->
            _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | THEORA ->
            _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS ->
            _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_ABR ->
            _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VORBIS_CBR ->
            _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState49 _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) MenhirState49) : 'freshtv450)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv451 * _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 : 'freshtv452)

and _menhir_run63 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState63 _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) MenhirState63

and _menhir_run64 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState64 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState64
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState64

and _menhir_run66 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState66 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState66
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState66

and _menhir_run68 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState68 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState68
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState68

and _menhir_run70 : _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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _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_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState70 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | RPAR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv447 * _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) = MenhirState70 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv445 * _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
          (
# 165 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple []) )
# 15072 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv446)) : 'freshtv448)
    | SHINE ->
        _menhir_run43 _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_run41 _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_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | VAR _v ->
        _menhir_run31 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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_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
    | LBRA ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv443 * _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 (_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_run83 _menhir_env (Obj.magic _menhir_stack) MenhirState81 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | UNDERSCORE ->
            _menhir_run36 _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_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState81 _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) MenhirState81) : 'freshtv444)
    | REPLACES ->
        _menhir_run80 _menhir_env (Obj.magic _menhir_stack) MenhirState79
    | LPAR | UNDERSCORE | VAR _ ->
        _menhir_reduce183 _menhir_env (Obj.magic _menhir_stack) MenhirState79
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState79

and _menhir_run72 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RCUR ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv437 * _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) = MenhirState72 in
        let _menhir_env = _menhir_discard _menhir_env in
        ((let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv435 * _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
          (
# 169 "lang/parser.mly"
                                     ( mk ~pos:_loc (Tuple []) )
# 15220 "lang/parser.ml"
           : 'tv_expr)
        in
        (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv436)) : 'freshtv438)
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv441) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState72 in
        let (_v : (
# 30 "lang/parser.mly"
       (string)
# 15246 "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_run74 _menhir_env (Obj.magic _menhir_stack)
        | BIN1 _ | BIN2 _ | BIN3 _ | BINB _ | COALESCE | DOT | MINUS | QUESTION | RCUR | SEQ | SET | TIMES | TO ->
            _menhir_reduce67 _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 : 'freshtv439 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 15264 "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 : 'freshtv440)) : 'freshtv442)
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState72 _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) MenhirState72

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
    | AVI ->
        _menhir_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DOTDOTDOT ->
        _menhir_run411 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState75 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | RBRA ->
        _menhir_reduce157 _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_run76 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 15383 "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_reduce189 _menhir_env (Obj.magic _menhir_stack) _endpos _menhir_s _v _startpos

and _menhir_run77 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 35 "lang/parser.mly"
       (int)
# 15392 "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 : 'freshtv433) = 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)
# 15403 "lang/parser.ml"
    )) : (
# 35 "lang/parser.mly"
       (int)
# 15407 "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
      (
# 139 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Int _1)) )
# 15419 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv434)

and _menhir_run78 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState78 _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) MenhirState78

and _menhir_run88 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState88 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState88
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState88

and _menhir_run90 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run31 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState90 _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) MenhirState90

and _menhir_run91 : _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 : 'freshtv429 * _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_run185 _menhir_env (Obj.magic _menhir_stack) MenhirState92 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | LPAR ->
            _menhir_run119 _menhir_env (Obj.magic _menhir_stack) MenhirState92 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | TILD ->
            _menhir_run93 _menhir_env (Obj.magic _menhir_stack) MenhirState92
        | UNDERSCORE ->
            _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState92 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState92 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | RPAR ->
            _menhir_reduce35 _menhir_env (Obj.magic _menhir_stack) MenhirState92
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState92) : 'freshtv430)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv431 * _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 : 'freshtv432)

and _menhir_run98 : _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_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState98 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState98 _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) MenhirState98

and _menhir_run101 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 36 "lang/parser.mly"
       (float)
# 15681 "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 : 'freshtv427) = 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)
# 15692 "lang/parser.ml"
    )) : (
# 36 "lang/parser.mly"
       (float)
# 15696 "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 (Float  _1)) )
# 15708 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv428)

and _menhir_run102 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState102 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState102
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState102

and _menhir_run104 : _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 : 'freshtv421) = 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_run355 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | AUDIO_COPY ->
            _menhir_run354 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | AUDIO_NONE ->
            _menhir_run353 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | AUDIO_RAW ->
            _menhir_run349 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | STRING _v ->
            _menhir_run335 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState105 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VAR _v ->
            _menhir_run108 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState105 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
        | VIDEO ->
            _menhir_run345 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | VIDEO_COPY ->
            _menhir_run344 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | VIDEO_NONE ->
            _menhir_run343 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | VIDEO_RAW ->
            _menhir_run106 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | RPAR ->
            _menhir_reduce125 _menhir_env (Obj.magic _menhir_stack) MenhirState105
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState105) : 'freshtv422)
    | 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 : 'freshtv423) = Obj.magic _menhir_stack in
        let (_, _endpos) = Obj.magic _menhir_stack in
        let _v : 'tv_ffmpeg_opt = 
# 451 "lang/parser.mly"
                 ( [] )
# 15775 "lang/parser.ml"
         in
        (_menhir_goto_ffmpeg_opt _menhir_env _menhir_stack _endpos _v : 'freshtv424)
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv425 * 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 : 'freshtv426)

and _menhir_run110 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState110 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState110
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState110

and _menhir_run112 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState112 _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_reduce24 _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

and _menhir_goto_program : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 93 "lang/parser.mly"
      (Term.t)
# 15819 "lang/parser.ml"
) -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s _v ->
    let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv419) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let (_v : (
# 93 "lang/parser.mly"
      (Term.t)
# 15828 "lang/parser.ml"
    )) = _v in
    ((let (_menhir_env : _menhir_env) = _menhir_env in
    let (_menhir_stack : 'freshtv417) = Obj.magic _menhir_stack in
    let (_menhir_s : _menhir_state) = _menhir_s in
    let ((_1 : (
# 93 "lang/parser.mly"
      (Term.t)
# 15836 "lang/parser.ml"
    )) : (
# 93 "lang/parser.mly"
      (Term.t)
# 15840 "lang/parser.ml"
    )) = _v in
    (Obj.magic _1 : 'freshtv418)) : 'freshtv420)

and _menhir_run116 : _menhir_env -> 'ttv_tail -> _menhir_state -> (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15847 "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 : 'freshtv415 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15859 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        let (_menhir_s : _menhir_state) = MenhirState116 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 : ('freshtv411 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15871 "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)
# 15877 "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_run185 _menhir_env (Obj.magic _menhir_stack) MenhirState118 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | LPAR ->
                _menhir_run119 _menhir_env (Obj.magic _menhir_stack) MenhirState118 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | TILD ->
                _menhir_run93 _menhir_env (Obj.magic _menhir_stack) MenhirState118
            | UNDERSCORE ->
                _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState118 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | VAR _v ->
                _menhir_run82 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState118 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
            | RPAR ->
                _menhir_reduce35 _menhir_env (Obj.magic _menhir_stack) MenhirState118
            | _ ->
                assert (not _menhir_env._menhir_error);
                _menhir_env._menhir_error <- true;
                _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState118) : 'freshtv412)
        | _ ->
            assert (not _menhir_env._menhir_error);
            _menhir_env._menhir_error <- true;
            let (_menhir_env : _menhir_env) = _menhir_env in
            let (_menhir_stack : ('freshtv413 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 15907 "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 : 'freshtv414)) : 'freshtv416)
    | REPLACES ->
        _menhir_run80 _menhir_env (Obj.magic _menhir_stack) MenhirState116
    | LPAR | UNDERSCORE | VAR _ | VARLPAR _ ->
        _menhir_reduce183 _menhir_env (Obj.magic _menhir_stack) MenhirState116
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState116

and _menhir_run114 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 37 "lang/parser.mly"
       (bool)
# 15923 "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 : 'freshtv409) = 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)
# 15934 "lang/parser.ml"
    )) : (
# 37 "lang/parser.mly"
       (bool)
# 15938 "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
      (
# 141 "lang/parser.mly"
                                     ( mk ~pos:_loc (Ground (Bool _1)) )
# 15950 "lang/parser.ml"
       : 'tv_expr)
    in
    (_menhir_goto_expr _menhir_env _menhir_stack _endpos _menhir_s _v _startpos : 'freshtv410)

and _menhir_run115 : _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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState115 _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) MenhirState115

and _menhir_run220 : _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_run22 _menhir_env (Obj.magic _menhir_stack) MenhirState220 _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_reduce24 _menhir_env (Obj.magic _menhir_stack) MenhirState220
    | _ ->
        assert (not _menhir_env._menhir_error);
        _menhir_env._menhir_error <- true;
        _menhir_errorcase _menhir_env (Obj.magic _menhir_stack) MenhirState220

and _menhir_errorcase : _menhir_env -> 'ttv_tail -> _menhir_state -> 'ttv_return =
  fun _menhir_env _menhir_stack _menhir_s ->
    match _menhir_s with
    | MenhirState478 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv21) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv22)
    | MenhirState472 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv27) = Obj.magic _menhir_stack in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv25) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState472 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 : 'freshtv23) = 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
          (
# 107 "lang/parser.mly"
          ( raise (Parse_error (_loc, "Syntax error!")) )
# 16094 "lang/parser.ml"
           : (
# 93 "lang/parser.mly"
      (Term.t)
# 16098 "lang/parser.ml"
          ))
        in
        (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : 'freshtv24)) : 'freshtv26) : 'freshtv28)
    | MenhirState465 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv29 * 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 : 'freshtv30)
    | MenhirState464 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv32)
    | MenhirState457 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv33 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16117 "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 : 'freshtv34)
    | MenhirState453 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv35 * 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 : 'freshtv36)
    | MenhirState450 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((((('freshtv37 * 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 : 'freshtv38)
    | MenhirState448 ->
        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)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv40)
    | MenhirState445 ->
        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)
    | MenhirState443 ->
        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)) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv44)
    | MenhirState440 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv45 * _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 : 'freshtv46)
    | MenhirState439 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv47 * _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 : 'freshtv48)
    | MenhirState438 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv49 * 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 : 'freshtv50)
    | MenhirState435 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv51 * _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 : 'freshtv52)
    | MenhirState434 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv53 * 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 : 'freshtv54)
    | MenhirState432 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv55 * 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 : 'freshtv56)
    | MenhirState430 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv57 * _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 : 'freshtv58)
    | MenhirState426 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv59 * 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 : 'freshtv60)
    | MenhirState425 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv61 * 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 : 'freshtv62)
    | MenhirState419 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv63 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16196 "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 : 'freshtv64)
    | MenhirState416 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv65 * 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)
    | MenhirState414 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv67 * 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 : 'freshtv68)
    | MenhirState412 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv69 * _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 : 'freshtv70)
    | MenhirState411 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv71 * _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 : 'freshtv72)
    | MenhirState406 ->
        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)
    | MenhirState405 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv75 * 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 : 'freshtv76)
    | MenhirState404 ->
        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) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv78)
    | MenhirState402 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv79 * 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 : 'freshtv80)
    | MenhirState401 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv81 * 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 : 'freshtv82)
    | MenhirState400 ->
        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) = Obj.magic _menhir_stack in
        let ((_menhir_stack, _, _menhir_s, _, _), _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv84)
    | MenhirState398 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv85 * _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 : 'freshtv86)
    | MenhirState397 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv87 * _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 : 'freshtv88)
    | MenhirState395 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv89 * _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 : 'freshtv90)
    | MenhirState394 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv91 * _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 : 'freshtv92)
    | MenhirState392 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv93 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16275 "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 : 'freshtv94)
    | MenhirState390 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv95 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16284 "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)
    | MenhirState388 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv97 * _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 : 'freshtv98)
    | MenhirState386 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv99 * 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 : 'freshtv100)
    | MenhirState384 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv101 * _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 : 'freshtv102)
    | MenhirState383 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv103 * 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 : 'freshtv104)
    | MenhirState382 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv105 * _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 : 'freshtv106)
    | MenhirState381 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv107 * _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 : 'freshtv108)
    | MenhirState377 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv109 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16323 "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 : 'freshtv110)
    | MenhirState375 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv111 * _menhir_state) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16332 "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 : 'freshtv112)
    | MenhirState370 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv113 * _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 : 'freshtv114)
    | MenhirState367 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv115 * 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 : 'freshtv116)
    | MenhirState366 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv118)
    | MenhirState361 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv119 * _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 : 'freshtv120)
    | MenhirState356 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv121 * _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 : 'freshtv122)
    | MenhirState350 ->
        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)
    | MenhirState346 ->
        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)
    | MenhirState341 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv127 * _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 : 'freshtv128)
    | MenhirState337 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv129 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 16381 "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 : 'freshtv130)
    | MenhirState336 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv131 * Lexing.position * _menhir_state * (
# 34 "lang/parser.mly"
       (string)
# 16390 "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 : 'freshtv132)
    | MenhirState334 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv133 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16399 "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 : 'freshtv134)
    | MenhirState329 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv135 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16408 "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 : 'freshtv136)
    | MenhirState328 ->
        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)
# 16417 "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 : 'freshtv138)
    | MenhirState325 ->
        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)
# 16426 "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 : 'freshtv140)
    | MenhirState324 ->
        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)
# 16435 "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 : 'freshtv142)
    | MenhirState321 ->
        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)
# 16444 "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 : 'freshtv144)
    | MenhirState320 ->
        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)
# 16453 "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 : 'freshtv146)
    | MenhirState318 ->
        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)
# 16462 "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 : 'freshtv148)
    | MenhirState314 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv149 * _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 : 'freshtv150)
    | MenhirState310 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv151 * _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 : 'freshtv152)
    | MenhirState308 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv153 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16481 "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 : 'freshtv154)
    | MenhirState306 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv155 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16490 "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)
    | MenhirState303 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv157 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16499 "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 : 'freshtv158)
    | MenhirState301 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv159 * _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 : 'freshtv160)
    | MenhirState296 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv161 * 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 : 'freshtv162)
    | MenhirState295 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv163 * 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 : 'freshtv164)
    | MenhirState294 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv165 * 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 : 'freshtv166)
    | MenhirState293 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv167 * 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 : 'freshtv168)
    | MenhirState290 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv169 * 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 : 'freshtv170)
    | MenhirState289 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv171 * _menhir_state * 'tv_record) * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16538 "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 : 'freshtv172)
    | MenhirState288 ->
        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)
# 16547 "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 : 'freshtv174)
    | MenhirState282 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv175 * 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 : 'freshtv176)
    | MenhirState279 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv177 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 32 "lang/parser.mly"
       (string)
# 16561 "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 : 'freshtv178)
    | MenhirState278 ->
        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)
# 16570 "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 : 'freshtv180)
    | MenhirState274 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv181 * _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 : 'freshtv182)
    | MenhirState272 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv183 * 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 : 'freshtv184)
    | MenhirState266 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv185 * _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 : 'freshtv186)
    | MenhirState260 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv187 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16594 "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 : 'freshtv188)
    | MenhirState259 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv189 * _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 : 'freshtv190)
    | MenhirState257 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv191 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 56 "lang/parser.mly"
       (string)
# 16608 "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 : 'freshtv192)
    | MenhirState256 ->
        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)
# 16617 "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 : 'freshtv194)
    | MenhirState255 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv195 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 57 "lang/parser.mly"
       (string)
# 16626 "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 : 'freshtv196)
    | MenhirState254 ->
        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)
# 16635 "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 : 'freshtv198)
    | MenhirState253 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv199 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 55 "lang/parser.mly"
       (string)
# 16644 "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 : 'freshtv200)
    | MenhirState252 ->
        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)
# 16653 "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 : 'freshtv202)
    | MenhirState251 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv203 * 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 : 'freshtv204)
    | MenhirState250 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv205 * 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 : 'freshtv206)
    | MenhirState248 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv207 * 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 : 'freshtv208)
    | MenhirState247 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv209 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * Lexing.position * _menhir_state * (
# 58 "lang/parser.mly"
       (string)
# 16677 "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 : 'freshtv210)
    | MenhirState246 ->
        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)
# 16686 "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 : 'freshtv212)
    | MenhirState245 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv213 * 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 : 'freshtv214)
    | MenhirState244 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv216)
    | MenhirState243 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv217 * 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 : 'freshtv218)
    | MenhirState242 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv219 * 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 : 'freshtv220)
    | MenhirState241 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv221 * 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 : 'freshtv222)
    | MenhirState240 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv224)
    | MenhirState239 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv225 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16725 "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 : 'freshtv226)
    | MenhirState238 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv227 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16734 "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 : 'freshtv228)
    | MenhirState236 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv229 * Lexing.position * _menhir_state * 'tv_expr * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16743 "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)
    | MenhirState234 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv231 * 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 : 'freshtv232)
    | MenhirState233 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv234)
    | MenhirState232 ->
        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) * 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 : 'freshtv236)
    | MenhirState231 ->
        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) = Obj.magic _menhir_stack in
        let (_menhir_stack, _, _menhir_s, _) = _menhir_stack in
        (_menhir_errorcase _menhir_env (Obj.magic _menhir_stack) _menhir_s : 'freshtv238)
    | MenhirState230 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv239 * 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 : 'freshtv240)
    | MenhirState228 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv241 * 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 : 'freshtv242)
    | MenhirState226 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv243 * 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 : 'freshtv244)
    | MenhirState220 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv245 * 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 : 'freshtv246)
    | MenhirState219 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((((('freshtv247 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16792 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16796 "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 : 'freshtv248)
    | MenhirState217 ->
        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)
# 16805 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16809 "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 : 'freshtv250)
    | MenhirState214 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv251 * 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 : 'freshtv252)
    | MenhirState208 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv253 * _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 : 'freshtv254)
    | MenhirState203 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv255 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16828 "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 : 'freshtv256)
    | MenhirState200 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv257 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16837 "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)
    | MenhirState192 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv259 * Lexing.position * _menhir_state * Lexing.position) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16846 "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 : 'freshtv260)
    | MenhirState189 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv261 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16855 "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)
    | MenhirState187 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv263 * _menhir_state * Lexing.position) * Lexing.position) * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 16864 "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 : 'freshtv264)
    | MenhirState186 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv265 * _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 : 'freshtv266)
    | MenhirState183 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv267 * _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 : 'freshtv268)
    | MenhirState180 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv269 * _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 : 'freshtv270)
    | MenhirState175 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv271 * _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 : 'freshtv272)
    | MenhirState171 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv273 * _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 : 'freshtv274)
    | MenhirState166 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv275 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16898 "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 : 'freshtv276)
    | MenhirState158 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv277 * 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 : 'freshtv278)
    | MenhirState157 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv279 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16912 "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 : 'freshtv280)
    | MenhirState155 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv281 * _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 : 'freshtv282)
    | MenhirState149 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv283 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 16926 "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 : 'freshtv284)
    | MenhirState144 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv285 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16935 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16939 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16943 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv286)
    | MenhirState139 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv287 * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 16951 "lang/parser.ml"
        ) * Lexing.position)) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16955 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv288)
    | MenhirState135 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv289 * _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 : 'freshtv290)
    | MenhirState125 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv291 * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16968 "lang/parser.ml"
        ) * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv292)
    | MenhirState122 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv293 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 16976 "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 : 'freshtv294)
    | MenhirState121 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv295 * _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 : 'freshtv296)
    | MenhirState119 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv297 * _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 : 'freshtv298)
    | MenhirState118 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv299 * _menhir_state * (
# 45 "lang/parser.mly"
       (Doc.item * (string*string) list * (string*string) list)
# 16995 "lang/parser.ml"
        ) * Lexing.position) * _menhir_state) * Lexing.position * (
# 31 "lang/parser.mly"
       (string)
# 16999 "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 : 'freshtv300)
    | MenhirState116 ->
        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)
# 17008 "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)
    | MenhirState115 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv303 * _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 : 'freshtv304)
    | MenhirState112 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv305 * 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 : 'freshtv306)
    | MenhirState110 ->
        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)
    | MenhirState109 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv309 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17032 "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 : 'freshtv310)
    | MenhirState107 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv311 * _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 : 'freshtv312)
    | MenhirState105 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv313 * Lexing.position) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv314)
    | MenhirState102 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv315 * 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 : 'freshtv316)
    | MenhirState100 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv317 * 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 : 'freshtv318)
    | MenhirState98 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv319 * 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 : 'freshtv320)
    | MenhirState97 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv321 * _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 : 'freshtv322)
    | MenhirState96 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv323 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17070 "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 : 'freshtv324)
    | MenhirState95 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (('freshtv325 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17079 "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 : 'freshtv326)
    | MenhirState94 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv327 * _menhir_state) * Lexing.position * (
# 30 "lang/parser.mly"
       (string)
# 17088 "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 : 'freshtv328)
    | MenhirState92 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv329 * _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 : 'freshtv330)
    | MenhirState90 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv331 * 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 : 'freshtv332)
    | MenhirState88 ->
        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)
    | MenhirState87 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : (((('freshtv335 * _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 : 'freshtv336)
    | MenhirState81 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv337 * _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 : 'freshtv338)
    | MenhirState79 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv339 * _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)
    | MenhirState78 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv341 * 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 : 'freshtv342)
    | MenhirState75 ->
        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)
    | MenhirState74 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv345 * Lexing.position * _menhir_state * (
# 30 "lang/parser.mly"
       (string)
# 17137 "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 : 'freshtv346)
    | MenhirState72 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv347 * _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 : 'freshtv348)
    | MenhirState70 ->
        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)
    | MenhirState68 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv351 * 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 : 'freshtv352)
    | MenhirState66 ->
        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)
    | MenhirState64 ->
        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)
    | MenhirState63 ->
        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)
    | MenhirState60 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv359 * _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 : 'freshtv360)
    | MenhirState55 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv361 * _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 : 'freshtv362)
    | MenhirState50 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv363 * 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 : 'freshtv364)
    | MenhirState49 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv365 * _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 : 'freshtv366)
    | MenhirState47 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv367 * _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 : 'freshtv368)
    | MenhirState45 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv369 * 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 : 'freshtv370)
    | MenhirState43 ->
        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)
    | MenhirState41 ->
        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)
    | MenhirState38 ->
        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)
    | MenhirState34 ->
        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)
    | MenhirState33 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ('freshtv379 * 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 : 'freshtv380)
    | MenhirState30 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv381 * Lexing.position * _menhir_state * (
# 32 "lang/parser.mly"
       (string)
# 17231 "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 : 'freshtv382)
    | MenhirState29 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv383 * Lexing.position * _menhir_state * (
# 31 "lang/parser.mly"
       (string)
# 17240 "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)
    | MenhirState27 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv385 * 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 : 'freshtv386)
    | MenhirState25 ->
        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)
    | MenhirState23 ->
        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)
    | MenhirState22 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv391 * _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)
    | MenhirState21 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv393 * 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 : 'freshtv394)
    | MenhirState20 ->
        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)
    | MenhirState18 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv401) = Obj.magic _menhir_stack in
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv399) = Obj.magic _menhir_stack in
        let (_endpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_curr_p in
        let (_menhir_s : _menhir_state) = MenhirState18 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 : 'freshtv397) = 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"
          ( raise (Parse_error (_loc, "Syntax error!")) )
# 17294 "lang/parser.ml"
           : (
# 96 "lang/parser.mly"
      (Term.t)
# 17298 "lang/parser.ml"
          ))
        in
        (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv398)) : 'freshtv400) : 'freshtv402)
    | MenhirState13 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : ((('freshtv403 * _menhir_state * 'tv_annotate_key)) * 'tv_annotate_value) * 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 : 'freshtv404)
    | MenhirState3 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv405 * 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 : 'freshtv406)
    | MenhirState0 ->
        let (_menhir_env : _menhir_env) = _menhir_env in
        let (_menhir_stack : 'freshtv407) = Obj.magic _menhir_stack in
        (raise _eRR : 'freshtv408)

and _menhir_reduce190 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 38 "lang/parser.mly"
       (int option list)
# 17320 "lang/parser.ml"
) -> Lexing.position -> 'ttv_return =
  fun _menhir_env _menhir_stack _endpos__1_ _menhir_s (_1 : (
# 38 "lang/parser.mly"
       (int option list)
# 17325 "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
      (
# 224 "lang/parser.mly"
             ( mk_time_pred ~pos:_loc (during ~pos:_loc _1) )
# 17336 "lang/parser.ml"
       : (
# 102 "lang/parser.mly"
      (Term.t)
# 17340 "lang/parser.ml"
      ))
    in
    _menhir_goto_time_predicate _menhir_env _menhir_stack _endpos _menhir_s _v _startpos

and _menhir_reduce189 : _menhir_env -> 'ttv_tail -> Lexing.position -> _menhir_state -> (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 17348 "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)
# 17353 "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
      (
# 223 "lang/parser.mly"
             ( mk_time_pred ~pos:_loc (between ~pos:_loc (fst _1) (snd _1)) )
# 17364 "lang/parser.ml"
       : (
# 102 "lang/parser.mly"
      (Term.t)
# 17368 "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)
# 17388 "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
    | 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) : 'freshtv20))

and interactive : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 96 "lang/parser.mly"
      (Term.t)
# 17416 "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_run220 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BEGIN ->
        _menhir_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | DEF _v ->
        _menhir_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _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) = MenhirState18 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)
# 17452 "lang/parser.ml"
        ) = 
# 113 "lang/parser.mly"
        ( raise End_of_file )
# 17456 "lang/parser.ml"
         in
        (_menhir_goto_interactive _menhir_env _menhir_stack _menhir_s _v : 'freshtv14)) : 'freshtv16)
    | EXTERNAL ->
        _menhir_run112 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FDKAAC ->
        _menhir_run110 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FFMPEG ->
        _menhir_run104 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLAC ->
        _menhir_run102 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FLOAT _v ->
        _menhir_run101 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FOR ->
        _menhir_run98 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | FUN ->
        _menhir_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GSTREAMER ->
        _menhir_run88 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | IF ->
        _menhir_run78 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INT _v ->
        _menhir_run77 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | INTERVAL _v ->
        _menhir_run76 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LBRA ->
        _menhir_run75 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LCUR ->
        _menhir_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_ABR ->
        _menhir_run66 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3_VBR ->
        _menhir_run64 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | NOT ->
        _menhir_run63 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OGG ->
        _menhir_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _menhir_run45 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SHINE ->
        _menhir_run43 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | SPEEX ->
        _menhir_run41 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | STRING _v ->
        _menhir_run40 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | THEORA ->
        _menhir_run38 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TIME _v ->
        _menhir_run37 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | TRY ->
        _menhir_run34 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UMINUS ->
        _menhir_run32 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | UNDERSCORE ->
        _menhir_run36 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VAR _v ->
        _menhir_run35 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLBRA _v ->
        _menhir_run30 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VARLPAR _v ->
        _menhir_run29 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _v _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS ->
        _menhir_run27 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_ABR ->
        _menhir_run25 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | VORBIS_CBR ->
        _menhir_run23 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WAV ->
        _menhir_run21 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | WHILE ->
        _menhir_run20 _menhir_env (Obj.magic _menhir_stack) _menhir_env._menhir_lexbuf.Lexing.lex_curr_p MenhirState18 _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) MenhirState18) : 'freshtv18))

and program : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 93 "lang/parser.mly"
      (Term.t)
# 17545 "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_run220 _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_run115 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | BOOL _v ->
        _menhir_run114 _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_run116 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _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) = MenhirState472 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
          (
# 108 "lang/parser.mly"
        ( mk ~pos:_loc unit )
# 17585 "lang/parser.ml"
           : (
# 93 "lang/parser.mly"
      (Term.t)
# 17589 "lang/parser.ml"
          ))
        in
        (_menhir_goto_program _menhir_env _menhir_stack _menhir_s _v : 'freshtv8)) : 'freshtv10)
    | EXTERNAL ->
        _menhir_run112 _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_run110 _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_run104 _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_run102 _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_run101 _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_run98 _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_run91 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | GET ->
        _menhir_run90 _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_run88 _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_run78 _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_run77 _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_run76 _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_run75 _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_run72 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LET ->
        _menhir_run79 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | LPAR ->
        _menhir_run70 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | MP3 ->
        _menhir_run68 _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_run66 _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_run64 _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_run63 _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_run48 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPEN ->
        _menhir_run47 _menhir_env (Obj.magic _menhir_stack) MenhirState472 _menhir_env._menhir_lexbuf.Lexing.lex_start_p
    | OPUS ->
        _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
    | SHINE ->
        _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
    | SPEEX ->
        _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
    | STRING _v ->
        _menhir_run40 _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_run38 _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_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
    | TRY ->
        _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
    | UMINUS ->
        _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
    | UNDERSCORE ->
        _menhir_run36 _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_run35 _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_run30 _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_run29 _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_run27 _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_run25 _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_run23 _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_run21 _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_run20 _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) : 'freshtv12))

and time_predicate : (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (
# 102 "lang/parser.mly"
      (Term.t)
# 17679 "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) = MenhirState478 in
        let (_v : (
# 39 "lang/parser.mly"
       (int option list * int option list)
# 17701 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (_menhir_reduce189 _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) = MenhirState478 in
        let (_v : (
# 38 "lang/parser.mly"
       (int option list)
# 17713 "lang/parser.ml"
        )) = _v in
        let (_startpos : Lexing.position) = _menhir_env._menhir_lexbuf.Lexing.lex_start_p in
        (_menhir_reduce190 _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) MenhirState478) : 'freshtv6))
